diff options
| -rw-r--r-- | technic_chests/copper_chest.lua | 6 | ||||
| -rw-r--r-- | technic_chests/gold_chest.lua | 6 | ||||
| -rw-r--r-- | technic_chests/iron_chest.lua | 2 | ||||
| -rw-r--r-- | technic_chests/mithril_chest.lua | 6 | ||||
| -rw-r--r-- | technic_chests/register.lua | 47 | ||||
| -rw-r--r-- | technic_chests/silver_chest.lua | 6 | ||||
| -rw-r--r-- | technic_chests/textures/technic_copper_chest_inventory.png | bin | 7464 -> 7661 bytes | |||
| -rw-r--r-- | technic_chests/textures/technic_gold_chest_inventory.png | bin | 5813 -> 9893 bytes | |||
| -rw-r--r-- | technic_chests/textures/technic_iron_chest_inventory.png | bin | 6685 -> 7037 bytes | |||
| -rw-r--r-- | technic_chests/textures/technic_mithril_chest_inventory.png | bin | 7804 -> 11504 bytes | |||
| -rw-r--r-- | technic_chests/textures/technic_silver_chest_inventory.png | bin | 7743 -> 9163 bytes | |||
| -rw-r--r-- | technic_chests/textures/technic_wooden_chest_inventory.png | bin | 7490 -> 5496 bytes | 
12 files changed, 47 insertions, 26 deletions
| diff --git a/technic_chests/copper_chest.lua b/technic_chests/copper_chest.lua index 21f0563..2d58379 100644 --- a/technic_chests/copper_chest.lua +++ b/technic_chests/copper_chest.lua @@ -25,7 +25,8 @@ minetest.register_craft({  })  technic.chests:register("Copper", { -	width = 10, +	width = 12, +	height = 5,  	sort = true,  	autosort = true,  	infotext = false, @@ -34,7 +35,8 @@ technic.chests:register("Copper", {  })  technic.chests:register("Copper", { -	width = 10, +	width = 12, +	height = 5,  	sort = true,  	autosort = true,  	infotext = false, diff --git a/technic_chests/gold_chest.lua b/technic_chests/gold_chest.lua index 941834d..386d1c7 100644 --- a/technic_chests/gold_chest.lua +++ b/technic_chests/gold_chest.lua @@ -26,7 +26,8 @@ minetest.register_craft({  })  technic.chests:register("Gold", { -	width = 12, +	width = 15, +	height = 6,  	sort = true,  	autosort = true,  	infotext = true, @@ -35,7 +36,8 @@ technic.chests:register("Gold", {  })  technic.chests:register("Gold", { -	width = 12, +	width = 15, +	height = 6,  	sort = true,  	autosort = true,  	infotext = true, diff --git a/technic_chests/iron_chest.lua b/technic_chests/iron_chest.lua index a1f5c63..aa02533 100644 --- a/technic_chests/iron_chest.lua +++ b/technic_chests/iron_chest.lua @@ -27,6 +27,7 @@ minetest.register_craft({  technic.chests:register("Iron", {  	width = 9, +	height = 5,  	sort = true,  	autosort = false,  	infotext = false, @@ -36,6 +37,7 @@ technic.chests:register("Iron", {  technic.chests:register("Iron", {  	width = 9, +	height = 5,  	sort = true,  	autosort = false,  	infotext = false, diff --git a/technic_chests/mithril_chest.lua b/technic_chests/mithril_chest.lua index f5aa986..8fb7baa 100644 --- a/technic_chests/mithril_chest.lua +++ b/technic_chests/mithril_chest.lua @@ -25,7 +25,8 @@ minetest.register_craft({  })  technic.chests:register("Mithril", { -	width = 13, +	width = 15, +	height = 7,  	sort = true,  	autosort = true,  	infotext = false, @@ -34,7 +35,8 @@ technic.chests:register("Mithril", {  })  technic.chests:register("Mithril", { -	width = 13, +	width = 15, +	height = 7,  	sort = true,  	autosort = true,  	infotext = false, diff --git a/technic_chests/register.lua b/technic_chests/register.lua index cec5e92..7f175f1 100644 --- a/technic_chests/register.lua +++ b/technic_chests/register.lua @@ -31,13 +31,13 @@ local function colorid_to_postfix(id)  end -local function get_color_buttons() +local function get_color_buttons(loleft, lotop)  	local buttons_string = ""  	for y = 0, 3 do  		for x = 0, 3 do  			local file_name = "technic_colorbutton"..(y * 4 + x)..".png"  			buttons_string = buttons_string.."image_button[" -				..(8.1 + x * 0.7)..","..(6.1 + y * 0.7) +				..(loleft + 8.1 + x * 0.7)..","..(lotop + 0.1 + y * 0.7)  				..";0.8,0.8;"..file_name..";color_button"  				..(y * 4 + x + 1)..";]"  		end @@ -60,20 +60,25 @@ local function set_formspec(pos, data, page)  	local meta = minetest.get_meta(pos)  	local node = minetest.get_node(pos)  	local formspec = data.formspec +	local lowidth = data.color and 11 or 8 +	local ovwidth = math.max(lowidth, data.width) +	local hileft = (ovwidth - data.width) / 2 +	local loleft = (ovwidth - lowidth) / 2 +	local lotop = data.height + 2  	if data.autosort then  		local status = meta:get_int("autosort") -		formspec = formspec.."button[2,5.1;3,0.8;autosort_to_"..(1-status)..";"..S("Auto-sort is %s"):format(status == 1 and S("On") or S("Off")).."]" +		formspec = formspec.."button["..(hileft+2)..","..(data.height+1.1)..";3,0.8;autosort_to_"..(1-status)..";"..S("Auto-sort is %s"):format(status == 1 and S("On") or S("Off")).."]"  	end  	if data.infotext then  		local formspec_infotext = minetest.formspec_escape(meta:get_string("infotext"))  		if page == "main" then -			formspec = formspec.."image_button[2.1,0.1;0.8,0.8;" +			formspec = formspec.."image_button["..(hileft+2.1)..",0.1;0.8,0.8;"  					.."technic_pencil_icon.png;edit_infotext;]" -					.."label[3,0;"..formspec_infotext.."]" +					.."label["..(hileft+3)..",0;"..formspec_infotext.."]"  		elseif page == "edit_infotext" then -			formspec = formspec.."image_button[2.1,0.1;0.8,0.8;" +			formspec = formspec.."image_button["..(hileft+2.1)..",0.1;0.8,0.8;"  					.."technic_checkmark_icon.png;save_infotext;]" -					.."field[3.3,0.2;4.8,1;" +					.."field["..(hileft+3.3)..",0.2;4.8,1;"  					.."infotext_box;"..S("Edit chest description:")..";"  					..formspec_infotext.."]"  		end @@ -86,7 +91,7 @@ local function set_formspec(pos, data, page)  		else  			colorName = S("None")  		end -		formspec = formspec.."label[8.2,9;"..S("Color Filter: %s"):format(colorName).."]" +		formspec = formspec.."label["..(loleft+8.2)..","..(lotop+3)..";"..S("Color Filter: %s"):format(colorName).."]"  	end  	meta:set_string("formspec", formspec)  end @@ -160,6 +165,7 @@ local function get_receive_fields(name, data)  			local nn = "technic:"..lname..(data.locked and "_locked" or "").."_chest"  			check_color_buttons(pos, meta, nn, fields)  		end +		meta:get_inventory():set_size("main", data.width * data.height)  		set_formspec(pos, data, page)  	end  end @@ -169,22 +175,27 @@ function technic.chests:register(name, data)  	local lname = name:lower()  	name = S(name) -	local width = math.max(data.color and 11 or 8, data.width) +	local lowidth = data.color and 11 or 8 +	local ovwidth = math.max(lowidth, data.width) +	local hileft = (ovwidth - data.width) / 2 +	local loleft = (ovwidth - lowidth) / 2 +	local lotop = data.height + 2 +	local ovheight = lotop + 4  	local locked_after_place = nil  	local front = {"technic_"..lname.."_chest_front.png"} -	data.formspec = "invsize["..width..",10;]".. +	data.formspec = "invsize["..ovwidth..","..ovheight..";]"..  			"label[0,0;"..S("%s Chest"):format(name).."]".. -			"list[current_name;main;0,1;"..width..",4;]".. -			"list[current_player;main;0,6;8,4;]".. -			"background[-0.19,-0.25;"..width..".4,10.75;ui_form_bg.png]".. -			"background[0,1;"..width..",4;technic_"..lname.."_chest_inventory.png]".. -			"background[0,6;8,4;ui_main_inventory.png]" +			"list[current_name;main;"..hileft..",1;"..data.width..","..data.height..";]".. +			"list[current_player;main;"..loleft..","..lotop..";8,4;]".. +			"background[-0.19,-0.25;"..(ovwidth+0.4)..","..(ovheight+0.75)..";ui_form_bg.png]".. +			"background["..hileft..",1;"..data.width..","..data.height..";technic_"..lname.."_chest_inventory.png]".. +			"background["..loleft..","..lotop..";8,4;ui_main_inventory.png]"  	if data.sort then -		data.formspec = data.formspec.."button[0,5.1;1,0.8;sort;"..S("Sort").."]" +		data.formspec = data.formspec.."button["..hileft..","..(data.height+1.1)..";1,0.8;sort;"..S("Sort").."]"  	end  	if data.color then -		data.formspec = data.formspec..get_color_buttons() +		data.formspec = data.formspec..get_color_buttons(loleft, lotop)  	end  	if data.locked then @@ -221,7 +232,7 @@ function technic.chests:register(name, data)  			meta:set_string("infotext", S("%s Chest"):format(name))  			set_formspec(pos, data, "main")  			local inv = meta:get_inventory() -			inv:set_size("main", data.width * 4) +			inv:set_size("main", data.width * data.height)  		end,  		can_dig = self.can_dig,  		on_receive_fields = get_receive_fields(name, data), diff --git a/technic_chests/silver_chest.lua b/technic_chests/silver_chest.lua index 75b33f8..0370488 100644 --- a/technic_chests/silver_chest.lua +++ b/technic_chests/silver_chest.lua @@ -25,7 +25,8 @@ minetest.register_craft({  })  technic.chests:register("Silver", { -	width = 11, +	width = 12, +	height = 6,  	sort = true,  	autosort = true,  	infotext = true, @@ -34,7 +35,8 @@ technic.chests:register("Silver", {  })  technic.chests:register("Silver", { -	width = 11, +	width = 12, +	height = 6,  	sort = true,  	autosort = true,  	infotext = true, diff --git a/technic_chests/textures/technic_copper_chest_inventory.png b/technic_chests/textures/technic_copper_chest_inventory.pngBinary files differ index 273a867..70da510 100644 --- a/technic_chests/textures/technic_copper_chest_inventory.png +++ b/technic_chests/textures/technic_copper_chest_inventory.png diff --git a/technic_chests/textures/technic_gold_chest_inventory.png b/technic_chests/textures/technic_gold_chest_inventory.pngBinary files differ index b19524b..d4aa8b3 100644 --- a/technic_chests/textures/technic_gold_chest_inventory.png +++ b/technic_chests/textures/technic_gold_chest_inventory.png diff --git a/technic_chests/textures/technic_iron_chest_inventory.png b/technic_chests/textures/technic_iron_chest_inventory.pngBinary files differ index 1785f88..a33967b 100644 --- a/technic_chests/textures/technic_iron_chest_inventory.png +++ b/technic_chests/textures/technic_iron_chest_inventory.png diff --git a/technic_chests/textures/technic_mithril_chest_inventory.png b/technic_chests/textures/technic_mithril_chest_inventory.pngBinary files differ index 9054775..9bec6fe 100644 --- a/technic_chests/textures/technic_mithril_chest_inventory.png +++ b/technic_chests/textures/technic_mithril_chest_inventory.png diff --git a/technic_chests/textures/technic_silver_chest_inventory.png b/technic_chests/textures/technic_silver_chest_inventory.pngBinary files differ index a61c4b9..b2fe835 100644 --- a/technic_chests/textures/technic_silver_chest_inventory.png +++ b/technic_chests/textures/technic_silver_chest_inventory.png diff --git a/technic_chests/textures/technic_wooden_chest_inventory.png b/technic_chests/textures/technic_wooden_chest_inventory.pngBinary files differ index 145d9d2..5ffbc12 100644 --- a/technic_chests/textures/technic_wooden_chest_inventory.png +++ b/technic_chests/textures/technic_wooden_chest_inventory.png | 
