From db63c91fe3a46253b9b56c25c6bcdd9c3360b89b Mon Sep 17 00:00:00 2001 From: TenPlus1 Date: Sun, 1 Nov 2015 21:03:05 +0000 Subject: [PATCH] chicks from eggs cannot spawn inside node --- api.lua | 2 +- chicken.lua | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/api.lua b/api.lua index e408a2d..f9d3a1c 100644 --- a/api.lua +++ b/api.lua @@ -1,4 +1,4 @@ --- Mobs Api (30th October 2015) +-- Mobs Api (1st November 2015) mobs = {} mobs.mod = "redo" diff --git a/chicken.lua b/chicken.lua index 421a6fc..15fa252 100644 --- a/chicken.lua +++ b/chicken.lua @@ -93,9 +93,15 @@ mobs:register_arrow("mobs:egg_entity", { hit_node = function(self, pos, node) - local num = math.random(1, 8) + local num = math.random(1, 10) if num == 1 then pos.y = pos.y + 1 + local nod = minetest.get_node_or_nil(pos) + if not nod + or not minetest.registered_nodes[nod.name] + or minetest.registered_nodes[nod.name].walkable == true then + return + end local mob = minetest.add_entity(pos, "mobs:chicken") local ent2 = mob:get_luaentity() mob:set_properties({ @@ -150,6 +156,7 @@ local mobs_shoot_egg = function (item, player, pointed_thing) y = -egg_GRAVITY, z = dir.z * -3 }) + -- pass player name to egg for chick ownership local ent2 = obj:get_luaentity() ent2.playername = player:get_player_name() item:take_item()