From cb7df652f7072ce85f88477e9623c278a54c0ec3 Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 14 Oct 2022 22:40:24 +0200 Subject: [PATCH 1/6] Fix title double display in boats and minecarts --- mods/ENTITIES/mcl_entity_invs/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ENTITIES/mcl_entity_invs/init.lua b/mods/ENTITIES/mcl_entity_invs/init.lua index 691222832..ee0103684 100644 --- a/mods/ENTITIES/mcl_entity_invs/init.lua +++ b/mods/ENTITIES/mcl_entity_invs/init.lua @@ -125,7 +125,7 @@ function mcl_entity_invs.register_inv(entity_name,show_name,size,no_on_righclick if not no_on_righclick then local old_rc = minetest.registered_entities[entity_name].on_rightclick minetest.registered_entities[entity_name].on_rightclick = function(self,clicker) - mcl_entity_invs.show_inv_form(self,clicker,show_name) + mcl_entity_invs.show_inv_form(self,clicker,"") if old_rc then return old_rc(self,clicker) end end end From 0ec4cb5502132e3910f92ffe7ce4a9e6785d6952 Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 14 Oct 2022 22:48:01 +0200 Subject: [PATCH 2/6] Open inv on shift+rightclick --- mods/ENTITIES/mcl_entity_invs/init.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mods/ENTITIES/mcl_entity_invs/init.lua b/mods/ENTITIES/mcl_entity_invs/init.lua index ee0103684..8ea4821ed 100644 --- a/mods/ENTITIES/mcl_entity_invs/init.lua +++ b/mods/ENTITIES/mcl_entity_invs/init.lua @@ -125,7 +125,10 @@ function mcl_entity_invs.register_inv(entity_name,show_name,size,no_on_righclick if not no_on_righclick then local old_rc = minetest.registered_entities[entity_name].on_rightclick minetest.registered_entities[entity_name].on_rightclick = function(self,clicker) - mcl_entity_invs.show_inv_form(self,clicker,"") + if clicker:get_player_control().sneak then + mcl_entity_invs.show_inv_form(self,clicker,"") + return + end if old_rc then return old_rc(self,clicker) end end end From e245ff02c2e22e098207ae6ab1da30f252e16524 Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 14 Oct 2022 22:55:52 +0200 Subject: [PATCH 3/6] Place player in front of choat, disallow passenger --- mods/ENTITIES/mcl_boats/init.lua | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/mods/ENTITIES/mcl_boats/init.lua b/mods/ENTITIES/mcl_boats/init.lua index dc1fbd78f..6f2ff0aab 100644 --- a/mods/ENTITIES/mcl_boats/init.lua +++ b/mods/ENTITIES/mcl_boats/init.lua @@ -65,9 +65,13 @@ local function set_double_attach(boat) boat._passenger:set_attach(boat.object, "", {x = 0, y = 0.42, z = -2.2}, {x = 0, y = 0, z = 0}) end +local function set_choat_attach(boat) + boat._driver:set_attach(boat.object, "", + {x = 0, y = 0.42, z = 1.8}, {x = 0, y = 0, z = 0}) +end local function attach_object(self, obj) - if self._driver then + if self._driver and not self._inv_id then if self._driver:is_player() then self._passenger = obj else @@ -77,7 +81,11 @@ local function attach_object(self, obj) set_double_attach(self) else self._driver = obj - set_attach(self) + if self._inv_id then + set_choat_attach(self) + else + set_attach(self) + end end local visual_size = get_visual_size(obj) From 1b576503174c0a171b2e9c26e6bd3fc94a3d58be Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 14 Oct 2022 22:59:09 +0200 Subject: [PATCH 4/6] fix boat collisonbox to fit the model better it says in a comment to not *lower* it - i made it higher. All seems to work - boat does not fall through the world. --- mods/ENTITIES/mcl_boats/init.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/ENTITIES/mcl_boats/init.lua b/mods/ENTITIES/mcl_boats/init.lua index 6f2ff0aab..d9f352439 100644 --- a/mods/ENTITIES/mcl_boats/init.lua +++ b/mods/ENTITIES/mcl_boats/init.lua @@ -131,8 +131,8 @@ local boat = { pointable = true, -- Warning: Do not change the position of the collisionbox top surface, -- lowering it causes the boat to fall through the world if underwater - collisionbox = {-0.5, -0.35, -0.5, 0.5, 0.3, 0.5}, - selectionbox = {-0.7, -0.35, -0.7, 0.7, 0.3, 0.7}, + collisionbox = {-0.5, -0.15, -0.5, 0.5, 0.55, 0.5}, + selectionbox = {-0.7, -0.15, -0.7, 0.7, 0.55, 0.7}, visual = "mesh", mesh = "mcl_boats_boat.b3d", textures = {"mcl_boats_texture_oak_boat.png", "mcl_boats_texture_oak_boat.png", "mcl_boats_texture_oak_boat.png", "mcl_boats_texture_oak_boat.png", "mcl_boats_texture_oak_boat.png"}, From 0c993294fb57c69e6cc04f2f189e13c077bb7eb4 Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 14 Oct 2022 23:03:38 +0200 Subject: [PATCH 5/6] Make choat collisionbox a bit taller --- mods/ENTITIES/mcl_boats/init.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mods/ENTITIES/mcl_boats/init.lua b/mods/ENTITIES/mcl_boats/init.lua index d9f352439..cabce3315 100644 --- a/mods/ENTITIES/mcl_boats/init.lua +++ b/mods/ENTITIES/mcl_boats/init.lua @@ -425,6 +425,8 @@ local cboat = table.copy(boat) cboat.mesh = "mcl_boats_boat_with_chest.b3d" cboat.textures = {"mcl_boats_texture_oak_chest_boat.png", "mcl_boats_texture_oak_chest_boat.png", "mcl_boats_texture_oak_chest_boat.png", "mcl_boats_texture_oak_chest_boat.png", "mcl_boats_texture_oak_chest_boat.png"} cboat._itemstring = "mcl_boats:chest_boat" +cboat.collisionbox = {-0.5, -0.15, -0.5, 0.5, 0.75, 0.5} +cboat.selectionbox = {-0.7, -0.15, -0.7, 0.7, 0.75, 0.7} minetest.register_entity("mcl_boats:chest_boat", cboat) mcl_entity_invs.register_inv("mcl_boats:chest_boat","Boat",27) From 224bbff56bc6231f005fe4aae3226a3a8fbb025f Mon Sep 17 00:00:00 2001 From: cora Date: Sat, 15 Oct 2022 00:37:29 +0200 Subject: [PATCH 6/6] Open minecart inv with regular rightclick --- mods/ENTITIES/mcl_entity_invs/init.lua | 6 +++--- mods/ENTITIES/mcl_minecarts/init.lua | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mods/ENTITIES/mcl_entity_invs/init.lua b/mods/ENTITIES/mcl_entity_invs/init.lua index 8ea4821ed..cc2badec0 100644 --- a/mods/ENTITIES/mcl_entity_invs/init.lua +++ b/mods/ENTITIES/mcl_entity_invs/init.lua @@ -102,7 +102,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end end) -function mcl_entity_invs.register_inv(entity_name,show_name,size,no_on_righclick) +function mcl_entity_invs.register_inv(entity_name,show_name,size,no_on_righclick,no_sneak) assert(minetest.registered_entities[entity_name],"mcl_entity_invs.register_inv called with invalid entity: "..tostring(entity_name)) minetest.registered_entities[entity_name]._inv_size = size minetest.registered_entities[entity_name]._inv_title = show_name @@ -125,9 +125,9 @@ function mcl_entity_invs.register_inv(entity_name,show_name,size,no_on_righclick if not no_on_righclick then local old_rc = minetest.registered_entities[entity_name].on_rightclick minetest.registered_entities[entity_name].on_rightclick = function(self,clicker) - if clicker:get_player_control().sneak then + if no_sneak or clicker:get_player_control().sneak then mcl_entity_invs.show_inv_form(self,clicker,"") - return + if not no_sneak then return end end if old_rc then return old_rc(self,clicker) end end diff --git a/mods/ENTITIES/mcl_minecarts/init.lua b/mods/ENTITIES/mcl_minecarts/init.lua index cc32c7c51..992442b7a 100644 --- a/mods/ENTITIES/mcl_minecarts/init.lua +++ b/mods/ENTITIES/mcl_minecarts/init.lua @@ -678,7 +678,7 @@ register_minecart( "mcl_minecarts_minecart_chest.png", {"mcl_minecarts:minecart", "mcl_chests:chest"}, nil, nil, true) -mcl_entity_invs.register_inv("mcl_minecarts:chest_minecart","Minecart",27) +mcl_entity_invs.register_inv("mcl_minecarts:chest_minecart","Minecart",27,false,true) -- Minecart with Furnace register_minecart(