milan2018_v3 #28
1 changed files with 0 additions and 154 deletions
|
@ -1,154 +0,0 @@
|
||||||
-- rnd: code borrowed from machines, mark.lua
|
|
||||||
|
|
||||||
-- need for marking
|
|
||||||
machines = {};
|
|
||||||
|
|
||||||
machines.pos1 = {};machines.pos11 = {}; machines.pos2 = {};
|
|
||||||
machines.marker1 = {}
|
|
||||||
machines.marker11 = {}
|
|
||||||
machines.marker2 = {}
|
|
||||||
machines.marker_region = {}
|
|
||||||
|
|
||||||
|
|
||||||
--marks machines region position 1
|
|
||||||
machines.mark_pos1 = function(name)
|
|
||||||
local pos1, pos2 = machines.pos1[name], machines.pos2[name]
|
|
||||||
|
|
||||||
if pos1 ~= nil then
|
|
||||||
--make area stay loaded
|
|
||||||
local manip = minetest.get_voxel_manip()
|
|
||||||
manip:read_from_map(pos1, pos1)
|
|
||||||
end
|
|
||||||
|
|
||||||
if not machines[name] then machines[name]={} end
|
|
||||||
machines[name].timer = 10;
|
|
||||||
if machines.marker1[name] ~= nil then --marker already exists
|
|
||||||
machines.marker1[name]:remove() --remove marker
|
|
||||||
machines.marker1[name] = nil
|
|
||||||
end
|
|
||||||
if pos1 ~= nil then
|
|
||||||
--add marker
|
|
||||||
machines.marker1[name] = minetest.add_entity(pos1, "machines:pos1")
|
|
||||||
if machines.marker1[name] ~= nil then
|
|
||||||
machines.marker1[name]:get_luaentity().name = name
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
--marks machines region position 1
|
|
||||||
machines.mark_pos11 = function(name)
|
|
||||||
local pos11 = machines.pos11[name];
|
|
||||||
|
|
||||||
if pos11 ~= nil then
|
|
||||||
--make area stay loaded
|
|
||||||
local manip = minetest.get_voxel_manip()
|
|
||||||
manip:read_from_map(pos11, pos11)
|
|
||||||
end
|
|
||||||
|
|
||||||
if not machines[name] then machines[name]={} end
|
|
||||||
machines[name].timer = 10;
|
|
||||||
if machines.marker11[name] ~= nil then --marker already exists
|
|
||||||
machines.marker11[name]:remove() --remove marker
|
|
||||||
machines.marker11[name] = nil
|
|
||||||
end
|
|
||||||
if pos11 ~= nil then
|
|
||||||
--add marker
|
|
||||||
machines.marker11[name] = minetest.add_entity(pos11, "machines:pos11")
|
|
||||||
if machines.marker11[name] ~= nil then
|
|
||||||
machines.marker11[name]:get_luaentity().name = name
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
--marks machines region position 2
|
|
||||||
machines.mark_pos2 = function(name)
|
|
||||||
local pos1, pos2 = machines.pos1[name], machines.pos2[name]
|
|
||||||
|
|
||||||
if pos2 ~= nil then
|
|
||||||
--make area stay loaded
|
|
||||||
local manip = minetest.get_voxel_manip()
|
|
||||||
manip:read_from_map(pos2, pos2)
|
|
||||||
end
|
|
||||||
|
|
||||||
if not machines[name] then machines[name]={} end
|
|
||||||
machines[name].timer = 10;
|
|
||||||
if machines.marker2[name] ~= nil then --marker already exists
|
|
||||||
machines.marker2[name]:remove() --remove marker
|
|
||||||
machines.marker2[name] = nil
|
|
||||||
end
|
|
||||||
if pos2 ~= nil then
|
|
||||||
--add marker
|
|
||||||
machines.marker2[name] = minetest.add_entity(pos2, "machines:pos2")
|
|
||||||
if machines.marker2[name] ~= nil then
|
|
||||||
machines.marker2[name]:get_luaentity().name = name
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
minetest.register_entity(":machines:pos1", {
|
|
||||||
initial_properties = {
|
|
||||||
visual = "cube",
|
|
||||||
visual_size = {x=1.1, y=1.1},
|
|
||||||
textures = {"machines_pos1.png", "machines_pos1.png",
|
|
||||||
"machines_pos1.png", "machines_pos1.png",
|
|
||||||
"machines_pos1.png", "machines_pos1.png"},
|
|
||||||
collisionbox = {-0.55, -0.55, -0.55, 0.55, 0.55, 0.55},
|
|
||||||
physical = false,
|
|
||||||
},
|
|
||||||
on_step = function(self, dtime)
|
|
||||||
if not machines[self.name] then machines[self.name]={}; machines[self.name].timer = 10 end
|
|
||||||
machines[self.name].timer = machines[self.name].timer - dtime
|
|
||||||
if machines[self.name].timer<=0 or machines.marker1[self.name] == nil then
|
|
||||||
self.object:remove()
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
on_punch = function(self, hitter)
|
|
||||||
self.object:remove()
|
|
||||||
machines.marker1[self.name] = nil
|
|
||||||
machines[self.name].timer = 10
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_entity(":machines:pos11", {
|
|
||||||
initial_properties = {
|
|
||||||
visual = "cube",
|
|
||||||
visual_size = {x=1.1, y=1.1},
|
|
||||||
textures = {"machines_pos11.png", "machines_pos11.png",
|
|
||||||
"machines_pos11.png", "machines_pos11.png",
|
|
||||||
"machines_pos11.png", "machines_pos11.png"},
|
|
||||||
collisionbox = {-0.55, -0.55, -0.55, 0.55, 0.55, 0.55},
|
|
||||||
physical = false,
|
|
||||||
},
|
|
||||||
on_step = function(self, dtime)
|
|
||||||
if not machines[self.name] then machines[self.name]={}; machines[self.name].timer = 10 end
|
|
||||||
machines[self.name].timer = machines[self.name].timer - dtime
|
|
||||||
if machines[self.name].timer<=0 or machines.marker11[self.name] == nil then
|
|
||||||
self.object:remove()
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
on_punch = function(self, hitter)
|
|
||||||
self.object:remove()
|
|
||||||
machines.marker11[self.name] = nil
|
|
||||||
machines[self.name].timer = 10
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_entity(":machines:pos2", {
|
|
||||||
initial_properties = {
|
|
||||||
visual = "cube",
|
|
||||||
visual_size = {x=1.1, y=1.1},
|
|
||||||
textures = {"machines_pos2.png", "machines_pos2.png",
|
|
||||||
"machines_pos2.png", "machines_pos2.png",
|
|
||||||
"machines_pos2.png", "machines_pos2.png"},
|
|
||||||
collisionbox = {-0.55, -0.55, -0.55, 0.55, 0.55, 0.55},
|
|
||||||
physical = false,
|
|
||||||
},
|
|
||||||
on_step = function(self, dtime)
|
|
||||||
if not machines[self.name] then machines[self.name]={}; machines[self.name].timer = 10 end
|
|
||||||
if machines[self.name].timer<=0 or machines.marker2[self.name] == nil then
|
|
||||||
self.object:remove()
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
Loading…
Reference in a new issue