From a2f68371ec160d2171289df2ec14a291cb12778a Mon Sep 17 00:00:00 2001 From: Blockhead Date: Fri, 13 Mar 2020 13:24:11 +1100 Subject: Use a standard wagon inventory formspec This new formspec also allows access to the wagon properties. Once whitelisted in the wagon properties, other players can access its inventory. Note on 'useless use' of OO: I tried passing just the wagon ID and avoiding using the `self` object in order to bypass the need to look up the lua entitie out of the list, but it ended up retrieving nil data. The best way to solve this overhead might be to wait for some kind of better way upstream in minetest's lua API to get entities, or to keep a central record of entities. Either way, the solution is outside the scope of this commit. --- advtrains_train_industrial/init.lua | 14 ++------------ advtrains_train_steam/init.lua | 7 +------ 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/advtrains_train_industrial/init.lua b/advtrains_train_industrial/init.lua index 64a98b8..4d64615 100644 --- a/advtrains_train_industrial/init.lua +++ b/advtrains_train_industrial/init.lua @@ -90,12 +90,7 @@ advtrains.register_wagon("wagon_tank", { collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, drops={"default:steelblock 4"}, has_inventory = true, - get_inventory_formspec = function(self, pname, invname) - return "size[8,11]".. - "list["..invname..";box;0,0;8,3;]".. - "list[current_player;main;0,5;8,4;]".. - "listring[]" - end, + get_inventory_formspec = advtrains.standard_inventory_formspec, inventory_list_sizes = { box=8*3, }, @@ -111,12 +106,7 @@ advtrains.register_wagon("wagon_wood", { collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, drops={"default:steelblock 4"}, has_inventory = true, - get_inventory_formspec = function(self, pname, invname) - return "size[8,11]".. - "list["..invname..";box;0,0;8,3;]".. - "list[current_player;main;0,5;8,4;]".. - "listring[]" - end, + get_inventory_formspec = advtrains.standard_inventory_formspec, inventory_list_sizes = { box=8*3, }, diff --git a/advtrains_train_steam/init.lua b/advtrains_train_steam/init.lua index c337a79..6b5047c 100755 --- a/advtrains_train_steam/init.lua +++ b/advtrains_train_steam/init.lua @@ -216,12 +216,7 @@ advtrains.register_wagon("wagon_box", { collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, drops={"default:steelblock 1"}, has_inventory = true, - get_inventory_formspec = function(self, pname, invname) - return "size[8,11]".. - "list["..invname..";box;0,0;8,3;]".. - "list[current_player;main;0,5;8,4;]".. - "listring[]" - end, + get_inventory_formspec = advtrains.standard_inventory_formspec, inventory_list_sizes = { box=8*3, }, -- cgit v1.2.3