|
|
|
@ -9,16 +9,16 @@ local filename = minetest.get_worldpath().."/luaentities"
|
|
|
|
|
local function read_file()
|
|
|
|
|
local f = io.open(filename, "r")
|
|
|
|
|
if f == nil then return {} end
|
|
|
|
|
local t = f:read("*all")
|
|
|
|
|
f:close()
|
|
|
|
|
local t = f:read("*all")
|
|
|
|
|
f:close()
|
|
|
|
|
if t == "" or t == nil then return {} end
|
|
|
|
|
return minetest.deserialize(t) or {}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local function write_file(tbl)
|
|
|
|
|
local f = io.open(filename, "w")
|
|
|
|
|
f:write(minetest.serialize(tbl))
|
|
|
|
|
f:close()
|
|
|
|
|
f:write(minetest.serialize(tbl))
|
|
|
|
|
f:close()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local function read_entities()
|
|
|
|
@ -36,7 +36,7 @@ local function read_entities()
|
|
|
|
|
y=math.min(30927,y)
|
|
|
|
|
z=math.min(30927,z)
|
|
|
|
|
|
|
|
|
|
entity.start_pos.x = x
|
|
|
|
|
entity.start_pos.x = x
|
|
|
|
|
entity.start_pos.y = y
|
|
|
|
|
entity.start_pos.z = z
|
|
|
|
|
|
|
|
|
@ -211,7 +211,7 @@ local entitydef_default = {
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
get_velocity = function(self)
|
|
|
|
|
return vector.new(self._velocity)
|
|
|
|
|
return vector.new(self._velocity)
|
|
|
|
|
end,
|
|
|
|
|
set_velocity = function(self, velocity)
|
|
|
|
|
self._velocity = vector.new(velocity)
|
|
|
|
@ -289,7 +289,7 @@ function luaentity.add_entity(pos, name)
|
|
|
|
|
_acceleration = {x = 0, y = 0, z = 0},
|
|
|
|
|
_attached_entities = {},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local prototype = luaentity.registered_entities[name]
|
|
|
|
|
setmetatable(entity, prototype) -- Default to prototype for other methods
|
|
|
|
|
luaentity.entities[index] = entity
|
|
|
|
@ -318,7 +318,7 @@ end
|
|
|
|
|
function luaentity.get_objects_inside_radius(pos, radius)
|
|
|
|
|
local objects = {}
|
|
|
|
|
local index = 1
|
|
|
|
|
for id, entity in pairs(luaentity.entities) do
|
|
|
|
|
for _, entity in pairs(luaentity.entities) do
|
|
|
|
|
if vector.distance(pos, entity:get_pos()) <= radius then
|
|
|
|
|
objects[index] = entity
|
|
|
|
|
index = index + 1
|
|
|
|
@ -330,7 +330,7 @@ local move_entities_globalstep_part2 = function(dtime)
|
|
|
|
|
if not luaentity.entities then
|
|
|
|
|
luaentity.entities = read_entities()
|
|
|
|
|
end
|
|
|
|
|
for id, entity in pairs(luaentity.entities) do
|
|
|
|
|
for _, entity in pairs(luaentity.entities) do
|
|
|
|
|
local master = entity._attached_entities_master
|
|
|
|
|
local master_def = master and entity._attached_entities[master]
|
|
|
|
|
local master_entity = master_def and master_def.entity
|
|
|
|
|