From 9aa7d4f8a6226a4930d4f69bcaaf28231453ea33 Mon Sep 17 00:00:00 2001 From: Sokomine Date: Mon, 11 Apr 2022 19:05:03 +0200 Subject: [PATCH] allow to force a specific formspec version for some formspecs --- show_fs.lua | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/show_fs.lua b/show_fs.lua index 682a813..e120620 100644 --- a/show_fs.lua +++ b/show_fs.lua @@ -84,9 +84,14 @@ end) -- show formspec with highest possible version information for the player -yl_speak_up.show_fs_ver = function(pname, formname, formspec) +-- force_version: optional parameter +yl_speak_up.show_fs_ver = function(pname, formname, formspec, force_version) + fs_ver = (yl_speak_up.fs_version[pname] or "2") + if(force_version) then + fs_ver = force_version + end minetest.show_formspec(pname, formname, - "formspec_version["..tostring(yl_speak_up.fs_version[pname] or "2").."]".. + "formspec_version["..tostring(fs_ver).."]".. formspec) end @@ -236,8 +241,11 @@ yl_speak_up.show_fs = function(player, fs_name, param) yl_speak_up.get_fs_fashion(pname)) elseif(fs_name == "inventory") then + -- this is a very classical formspec; it works far better with OLD fs; + -- force formspec version 1 yl_speak_up.show_fs_ver(pname, "yl_speak_up:inventory", - yl_speak_up.get_fs_inventory(player)) + yl_speak_up.get_fs_inventory(player), + 1) elseif(fs_name == "trade_list") then yl_speak_up.show_fs_ver(pname, "yl_speak_up:trade_list",