From 9b1a5ef40cd651be8b8e208010937c3ba6f83a1a Mon Sep 17 00:00:00 2001 From: Alexander Razzhivin Date: Sat, 23 Jul 2022 12:02:55 +0300 Subject: [PATCH 1/2] fix: spawn turtle with correct id --- entity/turtle.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/entity/turtle.lua b/entity/turtle.lua index 16948fd..d04eb02 100644 --- a/entity/turtle.lua +++ b/entity/turtle.lua @@ -363,8 +363,13 @@ function TurtleEntity:on_activate(staticdata, dtime_s) local data = minetest.deserialize(staticdata) if type(data) ~= "table" or not data.complete then data = {} end --Give ID - computertest.num_turtles = computertest.num_turtles+1 - self.id = computertest.num_turtles + if data.id then + self.id = data.id + else + computertest.num_turtles = computertest.num_turtles+1 + self.id = computertest.num_turtles + end + self.name = data.name or "Unnamed #"..self.id --self.owner = minetest.get_meta(pos):get_string("owner") self.heading = data.heading or 0 From 2e70b9511753957c629d3ca6c20ac6dfbfdce37f Mon Sep 17 00:00:00 2001 From: Alexander Razzhivin Date: Sun, 24 Jul 2022 16:11:12 +0300 Subject: [PATCH 2/2] fix: bugs with building --- entity/turtle.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/entity/turtle.lua b/entity/turtle.lua index d04eb02..4e6f370 100644 --- a/entity/turtle.lua +++ b/entity/turtle.lua @@ -206,10 +206,10 @@ function TurtleEntity:build(nodeLocation, turtleslot) if node.name~="air" then return false end --Build and consume item - local stack = self:getTurtleslot("main", turtleslot) + local stack = self:getTurtleslot(turtleslot) if stack:is_empty() then return false end - local newstack, position_placed = minetest.item_place_node(stack, nil, { type="node", under=nodeLocation, above=self:get_pos()}) - self.inv:set_stack("main", turtleslot,newstack) + local newstack, position_placed = minetest.item_place_node(stack, nil, { type="node", under=nodeLocation, above=self.object:get_pos()}) + self.inv:set_stack("main", turtleslot, newstack) if position_placed == nil then self:yield("Building")