summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.luacheckrc2
-rw-r--r--callbuttons.lua56
-rw-r--r--car.lua104
-rw-r--r--car_glassback.lua34
-rw-r--r--car_metal.lua34
-rw-r--r--car_metalglass.lua34
-rw-r--r--car_standard.lua38
-rw-r--r--chatcommands.lua38
-rw-r--r--controller.lua162
-rw-r--r--controllerfw.lua44
-rw-r--r--crafts.lua112
-rw-r--r--dbdkiosk.lua42
-rw-r--r--decorations.lua68
-rw-r--r--digilines.lua52
-rw-r--r--dispatcher.lua138
-rw-r--r--dispatcherfw.lua38
-rw-r--r--doors.lua232
-rw-r--r--drive_entity.lua318
-rw-r--r--drive_null.lua66
-rw-r--r--framework.lua12
-rw-r--r--fs1switch.lua54
-rw-r--r--genericswitch.lua76
-rw-r--r--governor.lua30
-rw-r--r--init.lua4
-rw-r--r--laptop.lua74
-rw-r--r--mesecons.lua82
-rw-r--r--pilantern.lua150
27 files changed, 1047 insertions, 1047 deletions
diff --git a/.luacheckrc b/.luacheckrc
index 427b2d9..755b8ce 100644
--- a/.luacheckrc
+++ b/.luacheckrc
@@ -8,7 +8,7 @@ read_globals = {
"DIR_DELIM",
"vector",
"screwdriver",
- "minetest",
+ "core",
"table.copy",
"VoxelManip",
"laptop",
diff --git a/callbuttons.lua b/callbuttons.lua
index 7e19de6..45e6a40 100644
--- a/callbuttons.lua
+++ b/callbuttons.lua
@@ -55,39 +55,39 @@ local validstates = {
function celevator.callbutton.setlight(pos,dir,newstate)
local node = celevator.get_node(pos)
- if minetest.get_item_group(node.name,"_celevator_callbutton") ~= 1 then return end
+ if core.get_item_group(node.name,"_celevator_callbutton") ~= 1 then return end
if dir == "up" then
- if minetest.get_item_group(node.name,"_celevator_callbutton_has_up") ~= 1 then return end
- local lit = minetest.get_item_group(node.name,"_celevator_callbutton_up_lit") == 1
+ if core.get_item_group(node.name,"_celevator_callbutton_has_up") ~= 1 then return end
+ local lit = core.get_item_group(node.name,"_celevator_callbutton_up_lit") == 1
if lit == newstate then return end
local newname = "celevator:callbutton_"
- if minetest.get_item_group(node.name,"_celevator_callbutton_has_down") == 1 then
+ if core.get_item_group(node.name,"_celevator_callbutton_has_down") == 1 then
newname = newname.."both"
else
newname = newname.."up"
end
if newstate then newname = newname.."_upon" end
- if minetest.get_item_group(node.name,"_celevator_callbutton_down_lit") == 1 then
+ if core.get_item_group(node.name,"_celevator_callbutton_down_lit") == 1 then
newname = newname.."_downon"
end
node.name = newname
- minetest.swap_node(pos,node)
+ core.swap_node(pos,node)
elseif dir == "down" then
- if minetest.get_item_group(node.name,"_celevator_callbutton_has_down") ~= 1 then return end
- local lit = minetest.get_item_group(node.name,"_celevator_callbutton_down_lit") == 1
+ if core.get_item_group(node.name,"_celevator_callbutton_has_down") ~= 1 then return end
+ local lit = core.get_item_group(node.name,"_celevator_callbutton_down_lit") == 1
if lit == newstate then return end
local newname = "celevator:callbutton_"
- if minetest.get_item_group(node.name,"_celevator_callbutton_has_up") == 1 then
+ if core.get_item_group(node.name,"_celevator_callbutton_has_up") == 1 then
newname = newname.."both"
else
newname = newname.."down"
end
- if minetest.get_item_group(node.name,"_celevator_callbutton_up_lit") == 1 then
+ if core.get_item_group(node.name,"_celevator_callbutton_up_lit") == 1 then
newname = newname.."_upon"
end
if newstate then newname = newname.."_downon" end
node.name = newname
- minetest.swap_node(pos,node)
+ core.swap_node(pos,node)
end
end
@@ -97,13 +97,13 @@ local function disambiguatedir(pos,player)
local lookdir = player:get_look_dir()
local distance = vector.distance(eyepos,pos)
local endpos = vector.add(eyepos,vector.multiply(lookdir,distance+1))
- local ray = minetest.raycast(eyepos,endpos,true,false)
+ local ray = core.raycast(eyepos,endpos,true,false)
local pointed,button,hitpos
repeat
pointed = ray:next()
if pointed and pointed.type == "node" then
- local node = minetest.get_node(pointed.under)
- if node.name and (minetest.get_item_group(node.name,"_celevator_callbutton") == 1) then
+ local node = core.get_node(pointed.under)
+ if node.name and (core.get_item_group(node.name,"_celevator_callbutton") == 1) then
button = pointed.under
hitpos = vector.subtract(pointed.intersection_point,button)
end
@@ -135,7 +135,7 @@ for _,state in ipairs(validstates) do
end
local idle = not (state[2] or state[3])
local description = string.format("Elevator %s Call Button%s%s",state[4],(state[1] == "both" and "s" or ""),(idle and "" or " (on state, you hacker you!)"))
- minetest.register_node(nname,{
+ core.register_node(nname,{
description = description,
groups = {
dig_immediate = 2,
@@ -167,45 +167,45 @@ for _,state in ipairs(validstates) do
},
},
after_place_node = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_string("formspec","formspec_version[7]size[8,5]field[0.5,0.5;7,1;carid;Car ID;]field[0.5,2;7,1;landing;Landing Number;]button[3,3.5;2,1;save;Save]")
end,
on_receive_fields = function(pos,_,fields)
if tonumber(fields.carid) and tonumber(fields.landing) then
local carid = tonumber(fields.carid)
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not carinfo then return end
table.insert(carinfo.callbuttons,{pos=pos,landing=tonumber(fields.landing)})
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
- local meta = minetest.get_meta(pos)
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
+ local meta = core.get_meta(pos)
meta:set_int("carid",carid)
meta:set_int("landing",tonumber(fields.landing))
meta:set_string("formspec","")
end
end,
on_destruct = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local carid = meta:get_int("carid")
if carid == 0 then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not carinfo then return end
for i,button in pairs(carinfo.callbuttons) do
if vector.equals(pos,button.pos) then
table.remove(carinfo.callbuttons,i)
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
end
end
end,
on_rightclick = function(pos,_,clicker)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local carid = meta:get_int("carid")
if carid == 0 then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not carinfo then return end
local controllerpos = carinfo.controllerpos or carinfo.dispatcherpos
local isdispatcher = carinfo.dispatcherpos
if not controllerpos then return end
- local controllermeta = minetest.get_meta(controllerpos)
+ local controllermeta = core.get_meta(controllerpos)
if controllermeta:get_int("carid") ~= carid then return end
local landing = meta:get_int("landing")
if state[1] == "up" then
@@ -240,16 +240,16 @@ for _,state in ipairs(validstates) do
})
end
-minetest.register_abm({
+core.register_abm({
label = "Check call buttons for missing/replaced controllers",
nodenames = {"group:_celevator_callbutton",},
interval = 15,
chance = 1,
action = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local carid = meta:get_int("carid")
if not (carid and carid > 0) then return end --Not set up yet
- local carinfo = minetest.deserialize(celevator.storage:get_string("car"..carid))
+ local carinfo = core.deserialize(celevator.storage:get_string("car"..carid))
if not carinfo then
meta:set_string("infotext","Error reading car information!\nPlease remove and replace this node.")
return
diff --git a/car.lua b/car.lua
index e8eca64..dace830 100644
--- a/car.lua
+++ b/car.lua
@@ -6,13 +6,13 @@ local function disambiguatecartopbutton(pos,facedir,player)
local lookdir = player:get_look_dir()
local distance = vector.distance(eyepos,pos)
local endpos = vector.add(eyepos,vector.multiply(lookdir,distance+1))
- local ray = minetest.raycast(eyepos,endpos,true,false)
+ local ray = core.raycast(eyepos,endpos,true,false)
local pointed,button,hitpos
repeat
pointed = ray:next()
if pointed and pointed.type == "node" then
- local node = minetest.get_node(pointed.under)
- local ndef = minetest.registered_nodes[node.name] or {}
+ local node = core.get_node(pointed.under)
+ local ndef = core.registered_nodes[node.name] or {}
if ndef._cartopbox then
button = pointed.under
hitpos = vector.subtract(pointed.intersection_point,button)
@@ -20,7 +20,7 @@ local function disambiguatecartopbutton(pos,facedir,player)
end
until button or not pointed
if not hitpos then return end
- hitpos = vector.rotate_around_axis(hitpos,vector.new(0,-1,0),minetest.dir_to_yaw(facedir)+(math.pi/2))
+ hitpos = vector.rotate_around_axis(hitpos,vector.new(0,-1,0),core.dir_to_yaw(facedir)+(math.pi/2))
if hitpos.y < 0.55 then return end
if hitpos.z > 0.36 or hitpos.z < 0.09 then return end
if hitpos.x >= -0.36 and hitpos.x <= -0.16 then
@@ -35,33 +35,33 @@ end
local function updatecartopbox(pos)
local toppos = vector.add(pos,vector.new(0,1.1,0))
- local entitiesnearby = minetest.get_objects_inside_radius(toppos,0.5)
+ local entitiesnearby = core.get_objects_inside_radius(toppos,0.5)
for _,i in pairs(entitiesnearby) do
if i:get_luaentity() and i:get_luaentity().name == "celevator:car_top_box" then
i:remove()
end
end
- local carmeta = minetest.get_meta(pos)
+ local carmeta = core.get_meta(pos)
local carid = carmeta:get_int("carid")
if carid == 0 then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not carinfo then return end
- local entity = minetest.add_entity(pos,"celevator:car_top_box")
+ local entity = core.add_entity(pos,"celevator:car_top_box")
local inspon = carinfo.cartopinspect
entity:set_properties({
wield_item = inspon and "celevator:car_top_box_on" or "celevator:car_top_box_off",
})
- local fdir = minetest.fourdir_to_dir(minetest.get_node(pos).param2)
+ local fdir = core.fourdir_to_dir(core.get_node(pos).param2)
fdir = vector.rotate_around_axis(fdir,vector.new(0,1,0),math.pi/2)
- entity:set_yaw(minetest.dir_to_yaw(fdir))
+ entity:set_yaw(core.dir_to_yaw(fdir))
entity:set_pos(toppos)
end
local held = {}
-minetest.register_globalstep(function()
+core.register_globalstep(function()
for k,v in ipairs(held) do
- local player = minetest.get_player_by_name(v.name)
+ local player = core.get_player_by_name(v.name)
if not (player and player:get_player_control()[v.button]) then
table.remove(held,k)
celevator.controller.handlecartopbox(v.pos,v.control.."_release")
@@ -110,13 +110,13 @@ function celevator.car.register(name,defs,size)
def.drop = ""
if def._cop then
def.on_receive_fields = function(pos,_,fields,player)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local carid = meta:get_int("carid")
if carid == 0 then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not carinfo then return end
local playername = player:get_player_name()
- local protected = minetest.is_protected(pos,playername) and not minetest.check_player_privs(playername,{protection_bypass=true})
+ local protected = core.is_protected(pos,playername) and not core.check_player_privs(playername,{protection_bypass=true})
local event = {
type = "cop",
fields = fields,
@@ -128,15 +128,15 @@ function celevator.car.register(name,defs,size)
elseif def._keyswitches then
def.on_receive_fields = function(pos,_,fields,player)
if fields.quit then return end
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local carid = meta:get_int("carid")
if carid == 0 then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not carinfo then return end
local playername = player:get_player_name()
- if minetest.is_protected(pos,playername) and not minetest.check_player_privs(playername,{protection_bypass=true}) then
- minetest.chat_send_player(playername,"You don't have access to these switches.")
- minetest.record_protection_violation(pos,playername)
+ if core.is_protected(pos,playername) and not core.check_player_privs(playername,{protection_bypass=true}) then
+ core.chat_send_player(playername,"You don't have access to these switches.")
+ core.record_protection_violation(pos,playername)
return
end
local event = {
@@ -154,17 +154,17 @@ function celevator.car.register(name,defs,size)
for _,v in ipairs(held) do
if playername == v.name then return end
end
- local fdir = minetest.fourdir_to_dir(node.param2)
+ local fdir = core.fourdir_to_dir(node.param2)
local control = disambiguatecartopbutton(pos,fdir,clicker)
if not control then return end
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local carid = meta:get_int("carid")
if carid == 0 then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not (carinfo and carinfo.controllerpos) then return end
if control == "inspectswitch" then
local boxpos = vector.add(pos,vector.new(0,1,0))
- local erefs = minetest.get_objects_inside_radius(boxpos,0.5)
+ local erefs = core.get_objects_inside_radius(boxpos,0.5)
for _,ref in pairs(erefs) do
if ref:get_luaentity() and ref:get_luaentity().name == "celevator:car_top_box" then
local state = ref:get_properties().wield_item
@@ -187,7 +187,7 @@ function celevator.car.register(name,defs,size)
end
def.after_dig_node = function(pos)
local toppos = vector.add(pos,vector.new(0,1.1,0))
- local entitiesnearby = minetest.get_objects_inside_radius(toppos,0.5)
+ local entitiesnearby = core.get_objects_inside_radius(toppos,0.5)
for _,i in pairs(entitiesnearby) do
if i:get_luaentity() and i:get_luaentity().name == "celevator:car_top_box" then
i:remove()
@@ -205,29 +205,29 @@ function celevator.car.register(name,defs,size)
def.groups._celevator_car_root = 1
def._root = true
def.on_construct = function(pos)
- minetest.get_meta(pos):set_string("doorstate","closed")
+ core.get_meta(pos):set_string("doorstate","closed")
end
def.on_punch = function(pos,_,player)
if player.is_fake_player then return end
local playername = player:get_player_name()
local sneak = player:get_player_control().sneak
if not sneak then return end
- if minetest.is_protected(pos,playername) and not minetest.check_player_privs(playername,{protection_bypass=true}) then
- minetest.record_protection_violation(pos,playername)
+ if core.is_protected(pos,playername) and not core.check_player_privs(playername,{protection_bypass=true}) then
+ core.record_protection_violation(pos,playername)
return
end
- local hash = minetest.hash_node_position(pos)
+ local hash = core.hash_node_position(pos)
local fs = "formspec_version[7]size[6,4]"
fs = fs.."label[0.5,1;Really remove this car?]"
fs = fs.."button_exit[0.5,2;2,1;yes;Yes]"
fs = fs.."button_exit[3,2;2,1;no;No]"
- minetest.show_formspec(playername,string.format("celevator:remove_car_%d",hash),fs)
+ core.show_formspec(playername,string.format("celevator:remove_car_%d",hash),fs)
end
def.on_timer = function(pos)
- local carid = minetest.get_meta(pos):get_int("carid")
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carid = core.get_meta(pos):get_int("carid")
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not (carinfo and carinfo.controllerpos) then return end
- local yaw = minetest.dir_to_yaw(minetest.fourdir_to_dir(minetest.get_node(pos).param2))
+ local yaw = core.dir_to_yaw(core.fourdir_to_dir(core.get_node(pos).param2))
local positions = {
vector.new(-0.25,-0.1,-0.5),
vector.new(0.25,-0.1,-0.5),
@@ -237,7 +237,7 @@ function celevator.car.register(name,defs,size)
local playerseen = false
for _,searchpos in ipairs(positions) do
local rotatedpos = vector.rotate_around_axis(searchpos,vector.new(0,1,0),yaw)
- local erefs = minetest.get_objects_inside_radius(vector.add(pos,rotatedpos),0.5)
+ local erefs = core.get_objects_inside_radius(vector.add(pos,rotatedpos),0.5)
for _,ref in pairs(erefs) do
if ref:is_player() then
playerseen = true
@@ -254,7 +254,7 @@ function celevator.car.register(name,defs,size)
return true
end
end
- minetest.register_node("celevator:car_"..name.."_"..def._position,def)
+ core.register_node("celevator:car_"..name.."_"..def._position,def)
end
end
@@ -273,10 +273,10 @@ function celevator.car.spawncar(origin,yaw,carid,name,doortype)
pos = vector.add(pos,vector.multiply(up,y))
local node = {
name = string.format("celevator:car_%s_%d%d%d",name,x,y,z),
- param2 = minetest.dir_to_fourdir(minetest.yaw_to_dir(yaw)),
+ param2 = core.dir_to_fourdir(core.yaw_to_dir(yaw)),
}
- minetest.set_node(pos,node)
- local meta = minetest.get_meta(pos)
+ core.set_node(pos,node)
+ local meta = core.get_meta(pos)
if carid then meta:set_int("carid",carid) end
meta:set_string("doortype",doortype or "glass")
end
@@ -284,30 +284,30 @@ function celevator.car.spawncar(origin,yaw,carid,name,doortype)
end
end
-minetest.register_abm({
+core.register_abm({
label = "Respawn in-car PI displays",
nodenames = {"group:_celevator_car_spawnspi"},
interval = 1,
chance = 1,
action = function(pos)
- local entitiesnearby = minetest.get_objects_inside_radius(pos,0.5)
+ local entitiesnearby = core.get_objects_inside_radius(pos,0.5)
for _,i in pairs(entitiesnearby) do
if i:get_luaentity() and i:get_luaentity().name == "celevator:incar_pi_entity" then
return
end
end
- local entity = minetest.add_entity(pos,"celevator:incar_pi_entity")
- local fdir = vector.rotate_around_axis(minetest.facedir_to_dir(minetest.get_node(pos).param2),vector.new(0,1,0),math.pi/2)
+ local entity = core.add_entity(pos,"celevator:incar_pi_entity")
+ local fdir = vector.rotate_around_axis(core.facedir_to_dir(core.get_node(pos).param2),vector.new(0,1,0),math.pi/2)
local etex = celevator.pi.generatetexture(" --",false,false,false,true)
entity:set_properties({
textures = {etex},
})
- entity:set_yaw(minetest.dir_to_yaw(fdir))
+ entity:set_yaw(core.dir_to_yaw(fdir))
entity:set_pos(vector.add(pos,vector.multiply(fdir,0.44)))
end,
})
-minetest.register_node("celevator:car_top_box_off",{
+core.register_node("celevator:car_top_box_off",{
description = "Car-top Inspection Box, Off State (you hacker you!)",
drop = "",
groups = {
@@ -327,7 +327,7 @@ minetest.register_node("celevator:car_top_box_off",{
},
})
-minetest.register_node("celevator:car_top_box_on",{
+core.register_node("celevator:car_top_box_on",{
description = "Car-top Inspection Box, On State (you hacker you!)",
drop = "",
groups = {
@@ -347,18 +347,18 @@ minetest.register_node("celevator:car_top_box_on",{
},
})
-minetest.register_entity("celevator:car_top_box",{
+core.register_entity("celevator:car_top_box",{
initial_properties = {
visual = "wielditem",
visual_size = vector.new(0.667,0.667,0.667),
wield_item = "celevator:car_top_box_off",
static_save = false,
pointable = false,
- glow = minetest.LIGHT_MAX,
+ glow = core.LIGHT_MAX,
},
})
-minetest.register_abm({
+core.register_abm({
label = "Respawn car-top inspection boxes",
nodenames = {"group:_celevator_car_spawnstopbox"},
interval = 1,
@@ -366,16 +366,16 @@ minetest.register_abm({
action = updatecartopbox,
})
-minetest.register_on_player_receive_fields(function(_,formname,fields)
+core.register_on_player_receive_fields(function(_,formname,fields)
if string.sub(formname,1,21) ~= "celevator:remove_car_" then return false end
if not fields.yes then return true end
local hash = tonumber(string.sub(formname,22,-1))
if not hash then return true end
- local rootpos = minetest.get_position_from_hash(hash)
- local rootdef = minetest.registered_nodes[celevator.get_node(rootpos).name] or {}
+ local rootpos = core.get_position_from_hash(hash)
+ local rootdef = core.registered_nodes[celevator.get_node(rootpos).name] or {}
local cartype = rootdef._celevator_car_type
if cartype and celevator.car.types[cartype] then
- local rootdir = minetest.dir_to_yaw(minetest.fourdir_to_dir(minetest.get_node(rootpos).param2))
+ local rootdir = core.dir_to_yaw(core.fourdir_to_dir(core.get_node(rootpos).param2))
celevator.car.types[cartype].remove(rootpos,rootdir)
end
end)
diff --git a/car_glassback.lua b/car_glassback.lua
index 58d4c7a..1db0903 100644
--- a/car_glassback.lua
+++ b/car_glassback.lua
@@ -332,7 +332,7 @@ local pieces = {
celevator.car.register("glassback",pieces,vector.new(2,3,3))
-minetest.register_node("celevator:car_glassback",{
+core.register_node("celevator:car_glassback",{
description = "Glass-Back Elevator Car",
paramtype2 = "4dir",
buildable_to = true,
@@ -342,28 +342,28 @@ minetest.register_node("celevator:car_glassback",{
tiles = {"celevator_transparent.png"},
after_place_node = function(pos,player)
if not player:is_player() then
- minetest.remove_node(pos)
+ core.remove_node(pos)
return true
end
local name = player:get_player_name()
- local newnode = minetest.get_node(pos)
- local facedir = minetest.dir_to_yaw(minetest.fourdir_to_dir(newnode.param2))
+ local newnode = core.get_node(pos)
+ local facedir = core.dir_to_yaw(core.fourdir_to_dir(newnode.param2))
for x=0,1,1 do
for y=0,2,1 do
for z=0,2,1 do
local offsetdesc = string.format("%dm to the right, %dm up, and %dm back",x,y,z)
local placeoffset = vector.new(x,y,z)
local placepos = vector.add(pos,vector.rotate_around_axis(placeoffset,vector.new(0,1,0),facedir))
- local replaces = minetest.get_node(placepos).name
- if not (minetest.registered_nodes[replaces] and minetest.registered_nodes[replaces].buildable_to) then
- minetest.chat_send_player(name,string.format("Can't place car here - position %s is blocked!",offsetdesc))
- minetest.remove_node(pos)
+ local replaces = core.get_node(placepos).name
+ if not (core.registered_nodes[replaces] and core.registered_nodes[replaces].buildable_to) then
+ core.chat_send_player(name,string.format("Can't place car here - position %s is blocked!",offsetdesc))
+ core.remove_node(pos)
return true
end
- if minetest.is_protected(placepos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
- minetest.chat_send_player(name,string.format("Can't place car here - position %s is protected!",offsetdesc))
- minetest.record_protection_violation(placepos,name)
- minetest.remove_node(pos)
+ if core.is_protected(placepos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
+ core.chat_send_player(name,string.format("Can't place car here - position %s is protected!",offsetdesc))
+ core.record_protection_violation(placepos,name)
+ core.remove_node(pos)
return true
end
end
@@ -375,7 +375,7 @@ minetest.register_node("celevator:car_glassback",{
local piecename = string.format("celevator:car_glassback_%d%d%d",x,y,z)
local placeoffset = vector.new(x,y,z)
local placepos = vector.add(pos,vector.rotate_around_axis(placeoffset,vector.new(0,1,0),facedir))
- minetest.set_node(placepos,{name=piecename,param2=newnode.param2})
+ core.set_node(placepos,{name=piecename,param2=newnode.param2})
end
end
end
@@ -394,9 +394,9 @@ celevator.car.types.glassback.remove = function(rootpos,rootdir)
local piecename = string.format("celevator:car_glassback_%d%d%d",x,y,z)
local pieceoffset = vector.new(x,y,z)
local piecepos = vector.add(rootpos,vector.rotate_around_axis(pieceoffset,vector.new(0,1,0),rootdir))
- if minetest.get_node(piecepos).name == piecename then
- minetest.remove_node(piecepos)
- local erefs = minetest.get_objects_inside_radius(piecepos,0.5)
+ if core.get_node(piecepos).name == piecename then
+ core.remove_node(piecepos)
+ local erefs = core.get_objects_inside_radius(piecepos,0.5)
for _,ref in pairs(erefs) do
if ref:get_luaentity() and toberemoved[ref:get_luaentity().name] then
ref:remove()
@@ -407,7 +407,7 @@ celevator.car.types.glassback.remove = function(rootpos,rootdir)
end
end
local cartopboxpos = vector.add(rootpos,vector.rotate_around_axis(vector.new(0,3,1),vector.new(0,1,0),rootdir))
- local erefs = minetest.get_objects_inside_radius(cartopboxpos,0.5)
+ local erefs = core.get_objects_inside_radius(cartopboxpos,0.5)
for _,ref in pairs(erefs) do
if ref:get_luaentity() and toberemoved[ref:get_luaentity().name] then
ref:remove()
diff --git a/car_metal.lua b/car_metal.lua
index 1b18ced..b6a8e33 100644
--- a/car_metal.lua
+++ b/car_metal.lua
@@ -326,7 +326,7 @@ local pieces = {
celevator.car.register("metal",pieces,vector.new(2,3,3))
-minetest.register_node("celevator:car_metal",{
+core.register_node("celevator:car_metal",{
description = "Metal Elevator Car",
paramtype2 = "4dir",
buildable_to = true,
@@ -336,28 +336,28 @@ minetest.register_node("celevator:car_metal",{
tiles = {"celevator_transparent.png"},
after_place_node = function(pos,player)
if not player:is_player() then
- minetest.remove_node(pos)
+ core.remove_node(pos)
return true
end
local name = player:get_player_name()
- local newnode = minetest.get_node(pos)
- local facedir = minetest.dir_to_yaw(minetest.fourdir_to_dir(newnode.param2))
+ local newnode = core.get_node(pos)
+ local facedir = core.dir_to_yaw(core.fourdir_to_dir(newnode.param2))
for x=0,1,1 do
for y=0,2,1 do
for z=0,2,1 do
local offsetdesc = string.format("%dm to the right, %dm up, and %dm back",x,y,z)
local placeoffset = vector.new(x,y,z)
local placepos = vector.add(pos,vector.rotate_around_axis(placeoffset,vector.new(0,1,0),facedir))
- local replaces = minetest.get_node(placepos).name
- if not (minetest.registered_nodes[replaces] and minetest.registered_nodes[replaces].buildable_to) then
- minetest.chat_send_player(name,string.format("Can't place car here - position %s is blocked!",offsetdesc))
- minetest.remove_node(pos)
+ local replaces = core.get_node(placepos).name
+ if not (core.registered_nodes[replaces] and core.registered_nodes[replaces].buildable_to) then
+ core.chat_send_player(name,string.format("Can't place car here - position %s is blocked!",offsetdesc))
+ core.remove_node(pos)
return true
end
- if minetest.is_protected(placepos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
- minetest.chat_send_player(name,string.format("Can't place car here - position %s is protected!",offsetdesc))
- minetest.record_protection_violation(placepos,name)
- minetest.remove_node(pos)
+ if core.is_protected(placepos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
+ core.chat_send_player(name,string.format("Can't place car here - position %s is protected!",offsetdesc))
+ core.record_protection_violation(placepos,name)
+ core.remove_node(pos)
return true
end
end
@@ -369,7 +369,7 @@ minetest.register_node("celevator:car_metal",{
local piecename = string.format("celevator:car_metal_%d%d%d",x,y,z)
local placeoffset = vector.new(x,y,z)
local placepos = vector.add(pos,vector.rotate_around_axis(placeoffset,vector.new(0,1,0),facedir))
- minetest.set_node(placepos,{name=piecename,param2=newnode.param2})
+ core.set_node(placepos,{name=piecename,param2=newnode.param2})
end
end
end
@@ -388,9 +388,9 @@ celevator.car.types.metal.remove = function(rootpos,rootdir)
local piecename = string.format("celevator:car_metal_%d%d%d",x,y,z)
local pieceoffset = vector.new(x,y,z)
local piecepos = vector.add(rootpos,vector.rotate_around_axis(pieceoffset,vector.new(0,1,0),rootdir))
- if minetest.get_node(piecepos).name == piecename then
- minetest.remove_node(piecepos)
- local erefs = minetest.get_objects_inside_radius(piecepos,0.5)
+ if core.get_node(piecepos).name == piecename then
+ core.remove_node(piecepos)
+ local erefs = core.get_objects_inside_radius(piecepos,0.5)
for _,ref in pairs(erefs) do
if ref:get_luaentity() and toberemoved[ref:get_luaentity().name] then
ref:remove()
@@ -401,7 +401,7 @@ celevator.car.types.metal.remove = function(rootpos,rootdir)
end
end
local cartopboxpos = vector.add(rootpos,vector.rotate_around_axis(vector.new(0,3,1),vector.new(0,1,0),rootdir))
- local erefs = minetest.get_objects_inside_radius(cartopboxpos,0.5)
+ local erefs = core.get_objects_inside_radius(cartopboxpos,0.5)
for _,ref in pairs(erefs) do
if ref:get_luaentity() and toberemoved[ref:get_luaentity().name] then
ref:remove()
diff --git a/car_metalglass.lua b/car_metalglass.lua
index 432babf..0bd7058 100644
--- a/car_metalglass.lua
+++ b/car_metalglass.lua
@@ -332,7 +332,7 @@ local pieces = {
celevator.car.register("metal_glassback",pieces,vector.new(2,3,3))
-minetest.register_node("celevator:car_metal_glassback",{
+core.register_node("celevator:car_metal_glassback",{
description = "Metal Glass-Back Elevator Car",
paramtype2 = "4dir",
buildable_to = true,
@@ -342,28 +342,28 @@ minetest.register_node("celevator:car_metal_glassback",{
tiles = {"celevator_transparent.png"},
after_place_node = function(pos,player)
if not player:is_player() then
- minetest.remove_node(pos)
+ core.remove_node(pos)
return true
end
local name = player:get_player_name()
- local newnode = minetest.get_node(pos)
- local facedir = minetest.dir_to_yaw(minetest.fourdir_to_dir(newnode.param2))
+ local newnode = core.get_node(pos)
+ local facedir = core.dir_to_yaw(core.fourdir_to_dir(newnode.param2))
for x=0,1,1 do
for y=0,2,1 do
for z=0,2,1 do
local offsetdesc = string.format("%dm to the right, %dm up, and %dm back",x,y,z)
local placeoffset = vector.new(x,y,z)
local placepos = vector.add(pos,vector.rotate_around_axis(placeoffset,vector.new(0,1,0),facedir))
- local replaces = minetest.get_node(placepos).name
- if not (minetest.registered_nodes[replaces] and minetest.registered_nodes[replaces].buildable_to) then
- minetest.chat_send_player(name,string.format("Can't place car here - position %s is blocked!",offsetdesc))
- minetest.remove_node(pos)
+ local replaces = core.get_node(placepos).name
+ if not (core.registered_nodes[replaces] and core.registered_nodes[replaces].buildable_to) then
+ core.chat_send_player(name,string.format("Can't place car here - position %s is blocked!",offsetdesc))
+ core.remove_node(pos)
return true
end
- if minetest.is_protected(placepos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
- minetest.chat_send_player(name,string.format("Can't place car here - position %s is protected!",offsetdesc))
- minetest.record_protection_violation(placepos,name)
- minetest.remove_node(pos)
+ if core.is_protected(placepos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
+ core.chat_send_player(name,string.format("Can't place car here - position %s is protected!",offsetdesc))
+ core.record_protection_violation(placepos,name)
+ core.remove_node(pos)
return true
end
end
@@ -375,7 +375,7 @@ minetest.register_node("celevator:car_metal_glassback",{
local piecename = string.format("celevator:car_metal_glassback_%d%d%d",x,y,z)
local placeoffset = vector.new(x,y,z)
local placepos = vector.add(pos,vector.rotate_around_axis(placeoffset,vector.new(0,1,0),facedir))
- minetest.set_node(placepos,{name=piecename,param2=newnode.param2})
+ core.set_node(placepos,{name=piecename,param2=newnode.param2})
end
end
end
@@ -394,9 +394,9 @@ celevator.car.types.metal_glassback.remove = function(rootpos,rootdir)
local piecename = string.format("celevator:car_metal_glassback_%d%d%d",x,y,z)
local pieceoffset = vector.new(x,y,z)
local piecepos = vector.add(rootpos,vector.rotate_around_axis(pieceoffset,vector.new(0,1,0),rootdir))
- if minetest.get_node(piecepos).name == piecename then
- minetest.remove_node(piecepos)
- local erefs = minetest.get_objects_inside_radius(piecepos,0.5)
+ if core.get_node(piecepos).name == piecename then
+ core.remove_node(piecepos)
+ local erefs = core.get_objects_inside_radius(piecepos,0.5)
for _,ref in pairs(erefs) do
if ref:get_luaentity() and toberemoved[ref:get_luaentity().name] then
ref:remove()
@@ -407,7 +407,7 @@ celevator.car.types.metal_glassback.remove = function(rootpos,rootdir)
end
end
local cartopboxpos = vector.add(rootpos,vector.rotate_around_axis(vector.new(0,3,1),vector.new(0,1,0),rootdir))
- local erefs = minetest.get_objects_inside_radius(cartopboxpos,0.5)
+ local erefs = core.get_objects_inside_radius(cartopboxpos,0.5)
for _,ref in pairs(erefs) do
if ref:get_luaentity() and toberemoved[ref:get_luaentity().name] then
ref:remove()
diff --git a/car_standard.lua b/car_standard.lua
index 70cb91f..6e69b7c 100644
--- a/car_standard.lua
+++ b/car_standard.lua
@@ -328,12 +328,12 @@ celevator.car.register("standard",pieces,vector.new(2,3,3))
for x=0,1,1 do
for y=0,2,1 do
for z=0,2,1 do
- minetest.register_alias(string.format("celevator:car_%d%d%d",x,y,z),string.format("celevator:car_standard_%d%d%d",x,y,z))
+ core.register_alias(string.format("celevator:car_%d%d%d",x,y,z),string.format("celevator:car_standard_%d%d%d",x,y,z))
end
end
end
-minetest.register_node("celevator:car_standard",{
+core.register_node("celevator:car_standard",{
description = "Basic Elevator Car",
paramtype2 = "4dir",
buildable_to = true,
@@ -343,28 +343,28 @@ minetest.register_node("celevator:car_standard",{
tiles = {"celevator_transparent.png"},
after_place_node = function(pos,player)
if not player:is_player() then
- minetest.remove_node(pos)
+ core.remove_node(pos)
return true
end
local name = player:get_player_name()
- local newnode = minetest.get_node(pos)
- local facedir = minetest.dir_to_yaw(minetest.fourdir_to_dir(newnode.param2))
+ local newnode = core.get_node(pos)
+ local facedir = core.dir_to_yaw(core.fourdir_to_dir(newnode.param2))
for x=0,1,1 do
for y=0,2,1 do
for z=0,2,1 do
local offsetdesc = string.format("%dm to the right, %dm up, and %dm back",x,y,z)
local placeoffset = vector.new(x,y,z)
local placepos = vector.add(pos,vector.rotate_around_axis(placeoffset,vector.new(0,1,0),facedir))
- local replaces = minetest.get_node(placepos).name
- if not (minetest.registered_nodes[replaces] and minetest.registered_nodes[replaces].buildable_to) then
- minetest.chat_send_player(name,string.format("Can't place car here - position %s is blocked!",offsetdesc))
- minetest.remove_node(pos)
+ local replaces = core.get_node(placepos).name
+ if not (core.registered_nodes[replaces] and core.registered_nodes[replaces].buildable_to) then
+ core.chat_send_player(name,string.format("Can't place car here - position %s is blocked!",offsetdesc))
+ core.remove_node(pos)
return true
end
- if minetest.is_protected(placepos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
- minetest.chat_send_player(name,string.format("Can't place car here - position %s is protected!",offsetdesc))
- minetest.record_protection_violation(placepos,name)
- minetest.remove_node(pos)
+ if core.is_protected(placepos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
+ core.chat_send_player(name,string.format("Can't place car here - position %s is protected!",offsetdesc))
+ core.record_protection_violation(placepos,name)
+ core.remove_node(pos)
return true
end
end
@@ -376,14 +376,14 @@ minetest.register_node("celevator:car_standard",{
local piecename = string.format("celevator:car_standard_%d%d%d",x,y,z)
local placeoffset = vector.new(x,y,z)
local placepos = vector.add(pos,vector.rotate_around_axis(placeoffset,vector.new(0,1,0),facedir))
- minetest.set_node(placepos,{name=piecename,param2=newnode.param2})
+ core.set_node(placepos,{name=piecename,param2=newnode.param2})
end
end
end
end,
})
-minetest.register_alias("celevator:car","celevator:car_standard")
+core.register_alias("celevator:car","celevator:car_standard")
celevator.car.types.standard.remove = function(rootpos,rootdir)
local toberemoved = {
@@ -397,9 +397,9 @@ celevator.car.types.standard.remove = function(rootpos,rootdir)
local piecename = string.format("celevator:car_standard_%d%d%d",x,y,z)
local pieceoffset = vector.new(x,y,z)
local piecepos = vector.add(rootpos,vector.rotate_around_axis(pieceoffset,vector.new(0,1,0),rootdir))
- if minetest.get_node(piecepos).name == piecename then
- minetest.remove_node(piecepos)
- local erefs = minetest.get_objects_inside_radius(piecepos,0.5)
+ if core.get_node(piecepos).name == piecename then
+ core.remove_node(piecepos)
+ local erefs = core.get_objects_inside_radius(piecepos,0.5)
for _,ref in pairs(erefs) do
if ref:get_luaentity() and toberemoved[ref:get_luaentity().name] then
ref:remove()
@@ -410,7 +410,7 @@ celevator.car.types.standard.remove = function(rootpos,rootdir)
end
end
local cartopboxpos = vector.add(rootpos,vector.rotate_around_axis(vector.new(0,3,1),vector.new(0,1,0),rootdir))
- local erefs = minetest.get_objects_inside_radius(cartopboxpos,0.5)
+ local erefs = core.get_objects_inside_radius(cartopboxpos,0.5)
for _,ref in pairs(erefs) do
if ref:get_luaentity() and toberemoved[ref:get_luaentity().name] then
ref:remove()
diff --git a/chatcommands.lua b/chatcommands.lua
index bfd79c7..53829e7 100644
--- a/chatcommands.lua
+++ b/chatcommands.lua
@@ -1,4 +1,4 @@
-minetest.register_chatcommand("carcall",{
+core.register_chatcommand("carcall",{
description = "Places a car call at the specified landing on the specified elevator",
params = "<car ID> <landing number>",
func = function(name,param)
@@ -9,7 +9,7 @@ minetest.register_chatcommand("carcall",{
if not (landing and tonumber(landing)) then
return false,"Invalid landing number"
end
- local carinfo = minetest.deserialize(celevator.storage:get_string("car"..carid))
+ local carinfo = core.deserialize(celevator.storage:get_string("car"..carid))
if not (carinfo and carinfo.controllerpos) then
return false,"No such car or car info is missing"
end
@@ -19,8 +19,8 @@ minetest.register_chatcommand("carcall",{
if celevator.get_meta(carinfo.controllerpos):get_int("carid") ~= tonumber(carid) then
return false,"Controller found but with wrong ID"
end
- if minetest.is_protected(carinfo.controllerpos,name) then
- minetest.record_protection_violation(carinfo.controllerpos,name)
+ if core.is_protected(carinfo.controllerpos,name) then
+ core.record_protection_violation(carinfo.controllerpos,name)
return false,"Controller is protected"
end
celevator.controller.run(carinfo.controllerpos,{
@@ -32,7 +32,7 @@ minetest.register_chatcommand("carcall",{
end,
})
-minetest.register_chatcommand("upcall",{
+core.register_chatcommand("upcall",{
description = "Places an up hall call at the specified landing on the specified elevator or dispatcher",
params = "<car ID> <landing number>",
func = function(name,param)
@@ -43,7 +43,7 @@ minetest.register_chatcommand("upcall",{
if not (landing and tonumber(landing)) then
return false,"Invalid landing number"
end
- local carinfo = minetest.deserialize(celevator.storage:get_string("car"..carid))
+ local carinfo = core.deserialize(celevator.storage:get_string("car"..carid))
if not (carinfo and (carinfo.controllerpos or carinfo.dispatcherpos)) then
return false,"No such car or car info is missing"
end
@@ -54,8 +54,8 @@ minetest.register_chatcommand("upcall",{
if celevator.get_meta(carinfo.controllerpos):get_int("carid") ~= tonumber(carid) then
return false,"Controller found but with wrong ID"
end
- if minetest.is_protected(carinfo.controllerpos,name) then
- minetest.record_protection_violation(carinfo.controllerpos,name)
+ if core.is_protected(carinfo.controllerpos,name) then
+ core.record_protection_violation(carinfo.controllerpos,name)
return false,"Controller is protected"
end
--One of these will work depending on the mode, the other will be ignored
@@ -77,8 +77,8 @@ minetest.register_chatcommand("upcall",{
if celevator.get_meta(carinfo.dispatcherpos):get_int("carid") ~= tonumber(carid) then
return false,"Dispatcher found but with wrong ID"
end
- if minetest.is_protected(carinfo.dispatcherpos,name) then
- minetest.record_protection_violation(carinfo.dispatcherpos,name)
+ if core.is_protected(carinfo.dispatcherpos,name) then
+ core.record_protection_violation(carinfo.dispatcherpos,name)
return false,"Dispatcher is protected"
end
celevator.dispatcher.run(carinfo.dispatcherpos,{
@@ -91,7 +91,7 @@ minetest.register_chatcommand("upcall",{
end,
})
-minetest.register_chatcommand("downcall",{
+core.register_chatcommand("downcall",{
description = "Places a down hall call at the specified landing on the specified elevator or dispatcher",
params = "<car ID> <landing number>",
func = function(name,param)
@@ -102,7 +102,7 @@ minetest.register_chatcommand("downcall",{
if not (landing and tonumber(landing)) then
return false,"Invalid landing number"
end
- local carinfo = minetest.deserialize(celevator.storage:get_string("car"..carid))
+ local carinfo = core.deserialize(celevator.storage:get_string("car"..carid))
if not (carinfo and (carinfo.controllerpos or carinfo.dispatcherpos)) then
return false,"No such car or car info is missing"
end
@@ -113,8 +113,8 @@ minetest.register_chatcommand("downcall",{
if celevator.get_meta(carinfo.controllerpos):get_int("carid") ~= tonumber(carid) then
return false,"Controller found but with wrong ID"
end
- if minetest.is_protected(carinfo.controllerpos,name) then
- minetest.record_protection_violation(carinfo.controllerpos,name)
+ if core.is_protected(carinfo.controllerpos,name) then
+ core.record_protection_violation(carinfo.controllerpos,name)
return false,"Controller is protected"
end
--One of these will work depending on the mode, the other will be ignored
@@ -136,8 +136,8 @@ minetest.register_chatcommand("downcall",{
if celevator.get_meta(carinfo.dispatcherpos):get_int("carid") ~= tonumber(carid) then
return false,"Dispatcher found but with wrong ID"
end
- if minetest.is_protected(carinfo.dispatcherpos,name) then
- minetest.record_protection_violation(carinfo.dispatcherpos,name)
+ if core.is_protected(carinfo.dispatcherpos,name) then
+ core.record_protection_violation(carinfo.dispatcherpos,name)
return false,"Dispatcher is protected"
end
celevator.dispatcher.run(carinfo.dispatcherpos,{
@@ -150,14 +150,14 @@ minetest.register_chatcommand("downcall",{
end,
})
-minetest.register_chatcommand("elevstatus",{
+core.register_chatcommand("elevstatus",{
description = "View the status of the specified elevator",
params = "<car ID>",
func = function(_,param)
if not (param and tonumber(param)) then
return false,"Invalid car ID"
end
- local carinfo = minetest.deserialize(celevator.storage:get_string("car"..param))
+ local carinfo = core.deserialize(celevator.storage:get_string("car"..param))
if not (carinfo and carinfo.controllerpos) then
return false,"No such car or car info is missing"
end
@@ -168,7 +168,7 @@ minetest.register_chatcommand("elevstatus",{
if controllermeta:get_int("carid") ~= tonumber(param) then
return false,"Controller found but with wrong ID"
end
- local mem = minetest.deserialize(controllermeta:get_string("mem"))
+ local mem = core.deserialize(controllermeta:get_string("mem"))
if not mem then
return false,"Failed to load controller memory"
end
diff --git a/controller.lua b/controller.lua
index 2921f81..d8fb873 100644
--- a/controller.lua
+++ b/controller.lua
@@ -1,20 +1,20 @@
celevator.controller = {}
-celevator.controller.iqueue = minetest.deserialize(celevator.storage:get_string("controller_iqueue")) or {}
+celevator.controller.iqueue = core.deserialize(celevator.storage:get_string("controller_iqueue")) or {}
-celevator.controller.equeue = minetest.deserialize(celevator.storage:get_string("controller_equeue")) or {}
+celevator.controller.equeue = core.deserialize(celevator.storage:get_string("controller_equeue")) or {}
celevator.controller.running = {}
-local fw,err = loadfile(minetest.get_modpath("celevator")..DIR_DELIM.."controllerfw.lua")
+local fw,err = loadfile(core.get_modpath("celevator")..DIR_DELIM.."controllerfw.lua")
if not fw then error(err) end
-minetest.register_chatcommand("celevator_reloadcontroller",{
+core.register_chatcommand("celevator_reloadcontroller",{
params = "",
description = "Reload celevator controller firmware from disk",
privs = {server = true},
func = function()
- local newfw,loaderr = loadfile(minetest.get_modpath("celevator")..DIR_DELIM.."controllerfw.lua")
+ local newfw,loaderr = loadfile(core.get_modpath("celevator")..DIR_DELIM.."controllerfw.lua")
if newfw then
fw = newfw
return true,"Firmware reloaded successfully"
@@ -25,32 +25,32 @@ minetest.register_chatcommand("celevator_reloadcontroller",{
})
local function after_place(pos,placer)
- local node = minetest.get_node(pos)
+ local node = core.get_node(pos)
local toppos = {x=pos.x,y=pos.y + 1,z=pos.z}
- local topnode = minetest.get_node(toppos)
+ local topnode = core.get_node(toppos)
local placername = placer:get_player_name()
if topnode.name ~= "air" then
if placer:is_player() then
- minetest.chat_send_player(placername,"Can't place cabinet - no room for the top half!")
+ core.chat_send_player(placername,"Can't place cabinet - no room for the top half!")
end
- minetest.set_node(pos,{name="air"})
+ core.set_node(pos,{name="air"})
return true
end
- if minetest.is_protected(toppos,placername) and not minetest.check_player_privs(placername,{protection_bypass=true}) then
+ if core.is_protected(toppos,placername) and not core.check_player_privs(placername,{protection_bypass=true}) then
if placer:is_player() then
- minetest.chat_send_player(placername,"Can't place cabinet - top half is protected!")
- minetest.record_protection_violation(toppos,placername)
+ core.chat_send_player(placername,"Can't place cabinet - top half is protected!")
+ core.record_protection_violation(toppos,placername)
end
- minetest.set_node(pos,{name="air"})
+ core.set_node(pos,{name="air"})
return true
end
node.name = "celevator:controller_top"
- minetest.set_node(toppos,node)
+ core.set_node(toppos,node)
end
local function ondestruct(pos)
pos.y = pos.y + 1
- local topnode = minetest.get_node(pos)
+ local topnode = core.get_node(pos)
local controllertops = {
["celevator:controller_top"] = true,
["celevator:controller_top_running"] = true,
@@ -58,26 +58,26 @@ local function ondestruct(pos)
["celevator:controller_top_open_running"] = true,
}
if controllertops[topnode.name] then
- minetest.set_node(pos,{name="air"})
+ core.set_node(pos,{name="air"})
end
- celevator.controller.equeue[minetest.hash_node_position(pos)] = nil
- celevator.storage:set_string("controller_equeue",minetest.serialize(celevator.controller.equeue))
- local carid = minetest.get_meta(pos):get_int("carid")
+ celevator.controller.equeue[core.hash_node_position(pos)] = nil
+ celevator.storage:set_string("controller_equeue",core.serialize(celevator.controller.equeue))
+ local carid = core.get_meta(pos):get_int("carid")
if carid ~= 0 then celevator.storage:set_string(string.format("car%d",carid),"") end
end
local function onrotate(controllerpos,node,user,mode,new_param2)
- if not minetest.global_exists("screwdriver") then
+ if not core.global_exists("screwdriver") then
return false
end
local ret = screwdriver.rotate_simple(controllerpos,node,user,mode,new_param2)
- minetest.after(0,function(pos)
- local newnode = minetest.get_node(pos)
+ core.after(0,function(pos)
+ local newnode = core.get_node(pos)
local param2 = newnode.param2
pos.y = pos.y + 1
- local topnode = minetest.get_node(pos)
+ local topnode = core.get_node(pos)
topnode.param2 = param2
- minetest.set_node(pos,topnode)
+ core.set_node(pos,topnode)
end,controllerpos)
return ret
end
@@ -99,20 +99,20 @@ local function controllerleds(pos,running)
}
if node.name == "celevator:controller_top_open" and running then
node.name = "celevator:controller_top_open_running"
- minetest.swap_node(toppos,node)
- minetest.sound_play("celevator_controller_start",sparams,true)
+ core.swap_node(toppos,node)
+ core.sound_play("celevator_controller_start",sparams,true)
elseif node.name == "celevator:controller_top" and running then
node.name = "celevator:controller_top_running"
- minetest.swap_node(toppos,node)
- minetest.sound_play("celevator_controller_start",sparams,true)
+ core.swap_node(toppos,node)
+ core.sound_play("celevator_controller_start",sparams,true)
elseif node.name == "celevator:controller_top_open_running" and not running then
node.name = "celevator:controller_top_open"
- minetest.swap_node(toppos,node)
- minetest.sound_play("celevator_controller_stop",sparams,true)
+ core.swap_node(toppos,node)
+ core.sound_play("celevator_controller_stop",sparams,true)
elseif node.name == "celevator:controller_top_running" and not running then
node.name = "celevator:controller_top"
- minetest.swap_node(toppos,node)
- minetest.sound_play("celevator_controller_stop",sparams,true)
+ core.swap_node(toppos,node)
+ core.sound_play("celevator_controller_stop",sparams,true)
end
end
@@ -121,12 +121,12 @@ local function candig(_,player)
if controls.sneak then
return true
else
- minetest.chat_send_player(player:get_player_name(),"Hold the sneak button while digging to remove.")
+ core.chat_send_player(player:get_player_name(),"Hold the sneak button while digging to remove.")
return false
end
end
-minetest.register_node("celevator:controller",{
+core.register_node("celevator:controller",{
description = "Elevator Controller",
groups = {
cracky = 1,
@@ -160,15 +160,15 @@ minetest.register_node("celevator:controller",{
on_receive_fields = handlefields,
can_dig = candig,
on_construct = function(pos)
- local meta = minetest.get_meta(pos)
- meta:set_string("mem",minetest.serialize({}))
+ local meta = core.get_meta(pos)
+ meta:set_string("mem",core.serialize({}))
meta:mark_as_private("mem")
local event = {}
event.type = "program"
local carid = celevator.storage:get_int("maxcarid")+1
meta:set_int("carid",carid)
celevator.storage:set_int("maxcarid",carid)
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize({controllerpos=pos,pis={},lanterns={},callbuttons={},fs1switches={}}))
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize({controllerpos=pos,pis={},lanterns={},callbuttons={},fs1switches={}}))
celevator.controller.run(pos,event)
end,
on_punch = function(pos,node,puncher)
@@ -176,24 +176,24 @@ minetest.register_node("celevator:controller",{
return
end
local name = puncher:get_player_name()
- if minetest.is_protected(pos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
- minetest.chat_send_player(name,"Can't open cabinet - cabinet is locked.")
- minetest.record_protection_violation(pos,name)
+ if core.is_protected(pos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
+ core.chat_send_player(name,"Can't open cabinet - cabinet is locked.")
+ core.record_protection_violation(pos,name)
return
end
node.name = "celevator:controller_open"
- minetest.swap_node(pos,node)
- local meta = minetest.get_meta(pos)
+ core.swap_node(pos,node)
+ local meta = core.get_meta(pos)
meta:set_string("formspec",meta:get_string("formspec_hidden"))
pos.y = pos.y + 1
- node = minetest.get_node(pos)
+ node = core.get_node(pos)
if node.name == "celevator:controller_top_running" then
node.name = "celevator:controller_top_open_running"
else
node.name = "celevator:controller_top_open"
end
- minetest.swap_node(pos,node)
- minetest.sound_play("celevator_cabinet_open",{
+ core.swap_node(pos,node)
+ core.sound_play("celevator_cabinet_open",{
pos = pos,
gain = 0.5,
max_hear_distance = 10
@@ -201,7 +201,7 @@ minetest.register_node("celevator:controller",{
end,
})
-minetest.register_node("celevator:controller_open",{
+core.register_node("celevator:controller_open",{
description = "Controller (door open - you hacker you!)",
groups = {
cracky = 1,
@@ -243,18 +243,18 @@ minetest.register_node("celevator:controller_open",{
return
end
node.name = "celevator:controller"
- minetest.swap_node(pos,node)
- local meta = minetest.get_meta(pos)
+ core.swap_node(pos,node)
+ local meta = core.get_meta(pos)
meta:set_string("formspec","")
pos.y = pos.y + 1
- node = minetest.get_node(pos)
+ node = core.get_node(pos)
if node.name == "celevator:controller_top_open_running" then
node.name = "celevator:controller_top_running"
else
node.name = "celevator:controller_top"
end
- minetest.swap_node(pos,node)
- minetest.sound_play("celevator_cabinet_close",{
+ core.swap_node(pos,node)
+ core.sound_play("celevator_cabinet_close",{
pos = pos,
gain = 0.5,
max_hear_distance = 10
@@ -262,7 +262,7 @@ minetest.register_node("celevator:controller_open",{
end,
})
-minetest.register_node("celevator:controller_top",{
+core.register_node("celevator:controller_top",{
description = "Controller (top section - you hacker you!)",
groups = {
not_in_creative_inventory = 1,
@@ -293,7 +293,7 @@ minetest.register_node("celevator:controller_top",{
},
})
-minetest.register_node("celevator:controller_top_running",{
+core.register_node("celevator:controller_top_running",{
description = "Controller (top section, car in motion - you hacker you!)",
groups = {
not_in_creative_inventory = 1,
@@ -324,7 +324,7 @@ minetest.register_node("celevator:controller_top_running",{
},
})
-minetest.register_node("celevator:controller_top_open",{
+core.register_node("celevator:controller_top_open",{
description = "Controller (top section, open - you hacker you!)",
groups = {
not_in_creative_inventory = 1,
@@ -360,7 +360,7 @@ minetest.register_node("celevator:controller_top_open",{
},
})
-minetest.register_node("celevator:controller_top_open_running",{
+core.register_node("celevator:controller_top_open_running",{
description = "Controller (top section, open, car in motion - you hacker you!)",
groups = {
not_in_creative_inventory = 1,
@@ -403,24 +403,24 @@ end
function celevator.controller.finddrive(pos)
local node = celevator.get_node(pos)
- local dir = minetest.facedir_to_dir(node.param2)
+ local dir = core.facedir_to_dir(node.param2)
local drivepos = vector.add(pos,vector.new(0,1,0))
drivepos = vector.add(drivepos,vector.rotate_around_axis(dir,vector.new(0,-1,0),math.pi/2))
drivepos = vector.round(drivepos)
local drivename = celevator.get_node(drivepos).name
- return drivepos,minetest.registered_nodes[drivename]._celevator_drive_type
+ return drivepos,core.registered_nodes[drivename]._celevator_drive_type
end
function celevator.controller.finish(pos,mem,changedinterrupts)
if not celevator.controller.iscontroller(pos) then
return
else
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local carid = meta:get_int("carid")
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
local carinfodirty = false
if not carinfo then
- minetest.log("error","[celevator] [controller] Bad car info for controller at "..minetest.pos_to_string(pos))
+ core.log("error","[celevator] [controller] Bad car info for controller at "..core.pos_to_string(pos))
return
end
local drivepos,drivetype = celevator.controller.finddrive(pos)
@@ -435,7 +435,7 @@ function celevator.controller.finish(pos,mem,changedinterrupts)
elseif command.command == "estop" then
celevator.drives[drivetype].estop(drivepos)
elseif command.command == "open" then
- minetest.after(0.25,celevator.drives[drivetype].movedoors,drivepos,"open")
+ core.after(0.25,celevator.drives[drivetype].movedoors,drivepos,"open")
elseif command.command == "close" then
celevator.drives[drivetype].movedoors(drivepos,"close",command.nudge)
elseif command.command == "resetfault" then
@@ -449,7 +449,7 @@ function celevator.controller.finish(pos,mem,changedinterrupts)
end
end
local node = celevator.get_node(pos)
- local oldmem = minetest.deserialize(meta:get_string("mem")) or {}
+ local oldmem = core.deserialize(meta:get_string("mem")) or {}
local oldupbuttonlights = oldmem.upcalls or {}
local olddownbuttonlights = oldmem.dncalls or {}
local newupbuttonlights = mem.upcalls or {}
@@ -542,10 +542,10 @@ function celevator.controller.finish(pos,mem,changedinterrupts)
meta:set_string("copformspec",mem.copformspec)
meta:set_string("switchformspec",mem.switchformspec)
if (mem.copformspec ~= oldmem.copformspec or mem.switchformspec ~= oldmem.switchformspec) and drivetype then
- minetest.after(0.25,celevator.drives[drivetype].updatecopformspec,drivepos)
+ core.after(0.25,celevator.drives[drivetype].updatecopformspec,drivepos)
end
for _,message in ipairs(mem.messages) do
- local destinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",message.carid)))
+ local destinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",message.carid)))
if destinfo and destinfo.dispatcherpos then
celevator.dispatcher.run(destinfo.dispatcherpos,{
type = "controllermsg",
@@ -555,26 +555,26 @@ function celevator.controller.finish(pos,mem,changedinterrupts)
})
end
end
- meta:set_string("mem",minetest.serialize(mem))
+ meta:set_string("mem",core.serialize(mem))
if node.name == "celevator:controller_open" then meta:set_string("formspec",mem.formspec or "") end
meta:set_string("formspec_hidden",mem.formspec or "")
meta:set_string("infotext",mem.infotext or "")
- local hash = minetest.hash_node_position(pos)
+ local hash = core.hash_node_position(pos)
if not celevator.controller.iqueue[hash] then celevator.controller.iqueue[hash] = mem.interrupts end
for iid in pairs(changedinterrupts) do
celevator.controller.iqueue[hash][iid] = mem.interrupts[iid]
end
- celevator.storage:set_string("controller_iqueue",minetest.serialize(celevator.controller.iqueue))
+ celevator.storage:set_string("controller_iqueue",core.serialize(celevator.controller.iqueue))
controllerleds(pos,mem.showrunning)
celevator.controller.running[hash] = nil
if #celevator.controller.equeue[hash] > 0 then
local event = celevator.controller.equeue[hash][1]
table.remove(celevator.controller.equeue[hash],1)
- celevator.storage:set_string("controller_equeue",minetest.serialize(celevator.controller.equeue))
+ celevator.storage:set_string("controller_equeue",core.serialize(celevator.controller.equeue))
celevator.controller.run(pos,event)
end
if carinfodirty then
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
end
end
end
@@ -583,25 +583,25 @@ function celevator.controller.run(pos,event)
if not celevator.controller.iscontroller(pos) then
return
else
- local hash = minetest.hash_node_position(pos)
+ local hash = core.hash_node_position(pos)
if not celevator.controller.equeue[hash] then
celevator.controller.equeue[hash] = {}
- celevator.storage:set_string("controller_equeue",minetest.serialize(celevator.controller.equeue))
+ celevator.storage:set_string("controller_equeue",core.serialize(celevator.controller.equeue))
end
if celevator.controller.running[hash] then
table.insert(celevator.controller.equeue[hash],event)
- celevator.storage:set_string("controller_equeue",minetest.serialize(celevator.controller.equeue))
+ celevator.storage:set_string("controller_equeue",core.serialize(celevator.controller.equeue))
if #celevator.controller.equeue[hash] > 5 then
local message = "[celevator] [controller] Async process for controller at %s is falling behind, %d events in queue"
- minetest.log("warning",string.format(message,minetest.pos_to_string(pos),#celevator.controller.equeue[hash]))
+ core.log("warning",string.format(message,core.pos_to_string(pos),#celevator.controller.equeue[hash]))
end
return
end
celevator.controller.running[hash] = true
- local meta = minetest.get_meta(pos)
- local mem = minetest.deserialize(meta:get_string("mem"))
+ local meta = core.get_meta(pos)
+ local mem = core.deserialize(meta:get_string("mem"))
if not mem then
- minetest.log("error","[celevator] [controller] Failed to load controller memory at "..minetest.pos_to_string(pos))
+ core.log("error","[celevator] [controller] Failed to load controller memory at "..core.pos_to_string(pos))
return
end
mem.drive = {}
@@ -611,9 +611,9 @@ function celevator.controller.run(pos,event)
mem.drive.type = drivetype
mem.drive.status = celevator.drives[drivetype].getstatus(drivepos)
end
- mem.interrupts = celevator.controller.iqueue[minetest.hash_node_position(pos)] or {}
+ mem.interrupts = celevator.controller.iqueue[core.hash_node_position(pos)] or {}
mem.carid = meta:get_int("carid")
- minetest.handle_async(fw,celevator.controller.finish,pos,event,mem)
+ core.handle_async(fw,celevator.controller.finish,pos,event,mem)
end
end
@@ -644,7 +644,7 @@ end
function celevator.controller.checkiqueue(dtime)
for hash,iqueue in pairs(celevator.controller.iqueue) do
- local pos = minetest.get_position_from_hash(hash)
+ local pos = core.get_position_from_hash(hash)
local noneleft = true
for iid,time in pairs(iqueue) do
noneleft = false
@@ -659,9 +659,9 @@ function celevator.controller.checkiqueue(dtime)
end
if noneleft then
celevator.controller.iqueue[hash] = nil
- celevator.storage:set_string("controller_iqueue",minetest.serialize(celevator.controller.iqueue))
+ celevator.storage:set_string("controller_iqueue",core.serialize(celevator.controller.iqueue))
end
end
end
-minetest.register_globalstep(celevator.controller.checkiqueue)
+core.register_globalstep(celevator.controller.checkiqueue)
diff --git a/controllerfw.lua b/controllerfw.lua
index 1850a1e..d04ff91 100644
--- a/controllerfw.lua
+++ b/controllerfw.lua
@@ -327,7 +327,7 @@ elseif event.type == "ui" then
mem.screenstate = "oobe_groupmode"
end
elseif mem.screenstate == "oobe_floortable" or mem.screenstate == "floortable" then
- local exp = event.fields.floor and minetest.explode_textlist_event(event.fields.floor) or {}
+ local exp = event.fields.floor and core.explode_textlist_event(event.fields.floor) or {}
if event.fields.back then
mem.screenstate = "oobe_groupmode"
elseif event.fields.next then
@@ -534,7 +534,7 @@ elseif event.type == "ui" then
if event.fields.save then
mem.screenstate = "parameters"
elseif event.fields.floor then
- local exp = minetest.explode_textlist_event(event.fields.floor) or {}
+ local exp = core.explode_textlist_event(event.fields.floor) or {}
if exp.type == "CHG" then
mem.editingfloor = #mem.params.floornames-exp.index+1
elseif exp.type == "DCL" then
@@ -561,7 +561,7 @@ elseif event.type == "ui" then
if not mem.params.secoverrideusers[mem.editingfloor] then
mem.params.secoverrideusers[mem.editingfloor] = {}
end
- local exp = minetest.explode_textlist_event(event.fields.user) or {}
+ local exp = core.explode_textlist_event(event.fields.user) or {}
if exp.type == "CHG" then
mem.editinguser = exp.index
elseif exp.type == "DCL" then
@@ -1302,8 +1302,8 @@ if mem.screenstate == "oobe_welcome" then
fs("button[1,10;2,1;license;License Info]")
fs("button[13,10;2,1;next;Next >]")
elseif mem.screenstate == "oobe_license" then
- local licensefile = io.open(minetest.get_modpath("celevator")..DIR_DELIM.."LICENSE")
- local license = minetest.formspec_escape(licensefile:read("*all"))
+ local licensefile = io.open(core.get_modpath("celevator")..DIR_DELIM.."LICENSE")
+ local license = core.formspec_escape(licensefile:read("*all"))
licensefile:close()
fs("textarea[1,1;14,8;license;This applies to the whole celevator mod\\, not just this controller:;"..license.."]")
fs("button[7,10.5;2,1;back;OK]")
@@ -1329,7 +1329,7 @@ elseif mem.screenstate == "oobe_floortable" or mem.screenstate == "floortable" t
end
fs("textlist[1,2;6,7;floor;")
for i=#mem.params.floornames,1,-1 do
- fs(minetest.formspec_escape(string.format("%d - Height: %d - PI: %s",i,mem.params.floorheights[i],mem.params.floornames[i]))..(i==1 and "" or ","))
+ fs(core.formspec_escape(string.format("%d - Height: %d - PI: %s",i,mem.params.floorheights[i],mem.params.floornames[i]))..(i==1 and "" or ","))
end
fs(";"..tostring(#mem.params.floornames-mem.editingfloor+1)..";false]")
if #mem.params.floornames < 100 then fs("button[8,2;2,1;add;New Floor]") end
@@ -1348,7 +1348,7 @@ elseif mem.screenstate == "oobe_floortable_edit" or mem.screenstate == "floortab
end
fs("label[1,1;Editing floor "..tostring(mem.editingfloor).."]")
fs("field[1,3;3,1;height;Floor Height;"..tostring(mem.params.floorheights[mem.editingfloor]).."]")
- fs("field[5,3;3,1;name;Floor Name;"..minetest.formspec_escape(mem.params.floornames[mem.editingfloor]).."]")
+ fs("field[5,3;3,1;name;Floor Name;"..core.formspec_escape(mem.params.floornames[mem.editingfloor]).."]")
elseif mem.screenstate == "status" then
fs("style_type[image_button;font=mono;font_size=*0.75]")
fs("box[12,2.5;0.1,9;#AAAAAAFF]")
@@ -1364,7 +1364,7 @@ elseif mem.screenstate == "status" then
local ypos = 11-(i*0.9)
local floornum = bottom+i
if floornum > maxfloor then break end
- fs(string.format("label[11.25,%f;%s]",ypos,minetest.formspec_escape(mem.params.floornames[floornum])))
+ fs(string.format("label[11.25,%f;%s]",ypos,core.formspec_escape(mem.params.floornames[floornum])))
local ccdot = mem.carcalls[floornum] and "*" or ""
if getpos() == floornum then
local cargraphics = {
@@ -1376,25 +1376,25 @@ elseif mem.screenstate == "status" then
}
ccdot = cargraphics[mem.doorstate]
if mem.direction == "up" then
- ccdot = minetest.colorize("#55FF55",ccdot)
+ ccdot = core.colorize("#55FF55",ccdot)
elseif mem.direction == "down" then
- ccdot = minetest.colorize("#FF5555",ccdot)
+ ccdot = core.colorize("#FF5555",ccdot)
end
end
fs(string.format("image_button[13.25,%f;0.75,0.75;celevator_fs_bg.png;carcall%d;%s]",ypos-0.25,floornum,ccdot))
if floornum < maxfloor then
- local arrow = mem.upcalls[floornum] and minetest.colorize("#55FF55","^") or ""
+ local arrow = mem.upcalls[floornum] and core.colorize("#55FF55","^") or ""
if mem.params.groupmode == "group" then
- arrow = mem.groupupcalls[floornum] and minetest.colorize("#55FF55","^") or ""
- arrow = (mem.swingupcalls[floornum] and minetest.colorize("#FFFF55","^") or "")..arrow
+ arrow = mem.groupupcalls[floornum] and core.colorize("#55FF55","^") or ""
+ arrow = (mem.swingupcalls[floornum] and core.colorize("#FFFF55","^") or "")..arrow
end
fs(string.format("image_button[12.25,%f;0.75,0.75;celevator_fs_bg.png;upcall%d;%s]",ypos-0.25,floornum,arrow))
end
if floornum > 1 then
- local arrow = mem.dncalls[floornum] and minetest.colorize("#FF5555","v") or ""
+ local arrow = mem.dncalls[floornum] and core.colorize("#FF5555","v") or ""
if mem.params.groupmode == "group" then
- arrow = mem.swingdncalls[floornum] and minetest.colorize("#FFFF55","v") or ""
- arrow = (mem.groupdncalls[floornum] and minetest.colorize("#FF5555","v") or "")..arrow
+ arrow = mem.swingdncalls[floornum] and core.colorize("#FFFF55","v") or ""
+ arrow = (mem.groupdncalls[floornum] and core.colorize("#FF5555","v") or "")..arrow
end
fs(string.format("image_button[14.25,%f;0.75,0.75;celevator_fs_bg.png;downcall%d;%s]",ypos-0.25,floornum,arrow))
end
@@ -1411,7 +1411,7 @@ elseif mem.screenstate == "status" then
fs("label[1,1;CAR STATUS]")
fs(string.format("label[1,2;%s]",modenames[mem.carstate]))
fs(string.format("label[1,2.5;Doors %s]",doorstates[mem.doorstate]))
- local currentfloor = minetest.formspec_escape(mem.params.floornames[getpos()])
+ local currentfloor = core.formspec_escape(mem.params.floornames[getpos()])
fs(string.format("label[1,3;Position: %0.02fm Speed: %+0.02fm/s PI: %s]",mem.drive.status.apos,mem.drive.status.vel,currentfloor))
if #mem.faultlog > 0 then
fs("label[1,3.5;Fault(s) Active]")
@@ -1512,7 +1512,7 @@ elseif mem.screenstate == "carcallsecurity" then
else
secmode = "Security Disabled"
end
- fs(minetest.formspec_escape(string.format("%s - %s",mem.params.floornames[i],secmode))..(i==1 and "" or ","))
+ fs(core.formspec_escape(string.format("%s - %s",mem.params.floornames[i],secmode))..(i==1 and "" or ","))
end
fs(";"..tostring(#mem.params.floornames-mem.editingfloor+1)..";false]")
fs("checkbox[1,9.5;swingcallwhennotswing;Allow Swing Calls When Not In Swing Operation;"..tostring(mem.params.swingcallwhennotswing).."]")
@@ -1532,7 +1532,7 @@ elseif mem.screenstate == "carcallsecurity" then
if #mem.params.secoverrideusers[mem.editingfloor] > 0 then
fs("textlist[8,6;4,2;user;")
for i=1,#mem.params.secoverrideusers[mem.editingfloor],1 do
- fs(minetest.formspec_escape(mem.params.secoverrideusers[mem.editingfloor][i])..(i==#mem.params.secoverrideusers[mem.editingfloor] and "" or ","))
+ fs(core.formspec_escape(mem.params.secoverrideusers[mem.editingfloor][i])..(i==#mem.params.secoverrideusers[mem.editingfloor] and "" or ","))
end
fs(";"..tostring(mem.editinguser)..";false]")
else
@@ -1637,12 +1637,12 @@ for i=1,floorcount,1 do
local xp = col*1.25
local tex = mem.carcalls[i] and litimg or unlitimg
local star = (i == (mem.params.mainlanding or 1) and "*" or "")
- local label = minetest.formspec_escape(star..mem.params.floornames[i])
+ local label = core.formspec_escape(star..mem.params.floornames[i])
mem.copformspec = mem.copformspec..string.format("image_button[%f,%f;1.2,1.2;%s;carcall%d;%s;false;false;%s]",xp,yp,tex,i,label,litimg)
end
local doxp = (copcols == 1) and 0.5 or 1.25
-local openlabel = minetest.formspec_escape("<|>")
+local openlabel = core.formspec_escape("<|>")
mem.copformspec = mem.copformspec..string.format("image_button[%f,%f;1.2,1.2;%s;open;%s;false;false;%s]",doxp,coprows*1.25+2.5,unlitimg,openlabel,litimg)
local dcxp = 3.75
@@ -1651,7 +1651,7 @@ if copcols == 1 then
elseif copcols == 2 then
dcxp = 2.5
end
-local closelabel = minetest.formspec_escape(">|<")
+local closelabel = core.formspec_escape(">|<")
mem.copformspec = mem.copformspec..string.format("image_button[%f,%f;1.2,1.2;%s;close;%s;false;false;%s]",dcxp,coprows*1.25+2.5,unlitimg,closelabel,litimg)
mem.copformspec = mem.copformspec..string.format("image_button[0.4,0.5;1.4,1.4;%s;callcancel;Call\nCancel;false;false;%s]",unlitimg,litimg)
diff --git a/crafts.lua b/crafts.lua
index 13a8b93..6851918 100644
--- a/crafts.lua
+++ b/crafts.lua
@@ -1,9 +1,9 @@
-local xcompat_available = minetest.global_exists("xcompat")
+local xcompat_available = core.global_exists("xcompat")
local m = xcompat_available and table.copy(xcompat.materials) or {}
-- provide required materials if xcompat is missing
if not xcompat_available then
- if minetest.get_modpath("default") then
+ if core.get_modpath("default") then
m.empty_bucket = "bucket:bucket_empty"
m.iron_lump = "default:iron_lump"
m.steel_ingot = "default:steel_ingot"
@@ -16,7 +16,7 @@ if not xcompat_available then
m.mese = "default:mese"
m.pick_steel = "default:pick_steel"
m.torch = "default:torch"
- elseif minetest.get_modpath("mcl_core") then
+ elseif core.get_modpath("mcl_core") then
m.empty_bucket = "mcl_buckets:bucket_empty"
m.iron_lump = "mcl_raw_ores:raw_iron"
m.steel_ingot = "mcl_core:iron_ingot"
@@ -30,20 +30,20 @@ if not xcompat_available then
m.pick_steel = "mcl_core:pick_steel"
m.torch = "mcl_torches:torch"
else
- minetest.log("warning","[celevator] Unsupported game and xcompat not found, not registering craft recipes")
+ core.log("warning","[celevator] Unsupported game and xcompat not found, not registering craft recipes")
return
end
- if minetest.get_modpath("dye") then
+ if core.get_modpath("dye") then
m.dye_black = "dye:black"
m.dye_blue = "dye:blue"
m.dye_red = "dye:red"
m.dye_green = "dye:green"
- elseif minetest.get_modpath("mcl_dyes") then
+ elseif core.get_modpath("mcl_dyes") then
m.dye_black = "mcl_dyes:black"
m.dye_blue = "mcl_dyes:blue"
m.dye_red = "mcl_dyes:red"
m.dye_green = "mcl_dyes:green"
- elseif minetest.get_modpath("mcl_dye") then
+ elseif core.get_modpath("mcl_dye") then
m.dye_black = "mcl_dye:black"
m.dye_blue = "mcl_dye:blue"
m.dye_red = "mcl_dye:red"
@@ -51,7 +51,7 @@ if not xcompat_available then
end
end
-if minetest.get_modpath("basic_materials") then
+if core.get_modpath("basic_materials") then
m.steel_bar = "basic_materials:steel_bar"
m.steel_strip = "basic_materials:steel_strip"
m.steel_gear = "basic_materials:gear_steel"
@@ -72,8 +72,8 @@ else
end
-- vl mesecons has colored lightstone with different naming scheme
-local mc_lightstone = minetest.registered_nodes["mesecons_lightstone:lightstone_blue_off"]
-local vl_lightstone = minetest.registered_nodes["mesecons_lightstone:lightstone_off_blue"]
+local mc_lightstone = core.registered_nodes["mesecons_lightstone:lightstone_blue_off"]
+local vl_lightstone = core.registered_nodes["mesecons_lightstone:lightstone_off_blue"]
if mc_lightstone then
-- real mesecons_lightstone
m.lightstone_blue = "mesecons_lightstone:lightstone_blue_off"
@@ -96,36 +96,36 @@ else
m.lightstone_extra = m.torch
end
-local mesecons_button = minetest.registered_nodes["mesecons_button:button_off"]
+local mesecons_button = core.registered_nodes["mesecons_button:button_off"]
if mesecons_button then
-- real mesecons
m.button = mesecons_button.name
-elseif minetest.get_modpath("mcl_core") then
+elseif core.get_modpath("mcl_core") then
m.button = "group:button"
else
m.button = m.mese
end
-if minetest.get_modpath("mesecons_switch") then
+if core.get_modpath("mesecons_switch") then
-- real mesecons
m.switch = "mesecons_switch:mesecon_switch_off"
-elseif minetest.get_modpath("mcl_lever") then
+elseif core.get_modpath("mcl_lever") then
-- mcla
m.switch = "mcl_lever:lever_off"
-elseif minetest.get_modpath("mesecons_walllever") then
+elseif core.get_modpath("mesecons_walllever") then
-- other mcl
m.switch = "mesecons_walllever:wall_lever_off"
else
m.switch = m.mese
end
-if minetest.get_modpath("digilines") then
+if core.get_modpath("digilines") then
m.lcd = "digilines:lcd"
else
m.lcd = m.mese
end
-minetest.register_craft({
+core.register_craft({
output = "celevator:buffer_oil",
recipe = {
{"",m.steel_bar,""},
@@ -134,7 +134,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:buffer_rubber",
recipe = {
{m.plastic_sheet,m.dye_black,m.plastic_sheet},
@@ -143,7 +143,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:callbutton_both",
recipe = {
{m.steel_strip,m.lightstone_blue,m.button},
@@ -152,7 +152,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:callbutton_up",
recipe = {
{m.steel_strip,m.lightstone_blue,m.button},
@@ -161,7 +161,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:callbutton_down",
recipe = {
{m.steel_strip,"",""},
@@ -170,7 +170,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:car_standard",
recipe = {
{m.steel_ingot,m.steel_ingot,m.steel_ingot},
@@ -179,7 +179,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:car_glassback",
recipe = {
{m.steel_ingot,m.steel_ingot,m.steel_ingot},
@@ -188,7 +188,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:car_metal",
recipe = {
{"",m.steel_strip,""},
@@ -197,7 +197,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:car_metal_glassback",
recipe = {
{"",m.steel_strip,""},
@@ -206,7 +206,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:controller",
recipe = {
{m.steel_strip,m.ic,m.steel_strip},
@@ -215,7 +215,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:dispatcher",
recipe = {
{m.steel_strip,m.ic,m.steel_strip},
@@ -224,7 +224,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:drive",
recipe = {
{m.silicon,m.steel_strip,m.silicon},
@@ -233,7 +233,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:digilines_io",
recipe = {
{"","",""},
@@ -242,7 +242,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:mesecons_input_off",
recipe = {
{"","",""},
@@ -251,7 +251,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:mesecons_output_off",
recipe = {
{"","",""},
@@ -260,7 +260,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:fs1switch_off",
recipe = {
{m.steel_strip,m.lightstone_red,m.lightstone_extra},
@@ -269,7 +269,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:guide_rail 10",
recipe = {
{m.steel_strip,m.steel_ingot,m.steel_strip},
@@ -278,14 +278,14 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:guide_rail_bracket",
recipe = {
{m.steel_strip,"celevator:guide_rail",m.steel_strip},
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:hwdoor_glass",
recipe = {
{m.steel_bar,m.steel_bar,m.steel_bar},
@@ -294,7 +294,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:hwdoor_steel",
recipe = {
{m.steel_bar,m.steel_bar,m.steel_bar},
@@ -303,7 +303,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:lantern_up",
recipe = {
{m.steel_strip,m.lightstone_green},
@@ -312,7 +312,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:lantern_down",
recipe = {
{m.steel_strip,""},
@@ -321,7 +321,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:lantern_both",
recipe = {
{m.steel_strip,m.lightstone_green},
@@ -330,7 +330,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:lantern_vertical_up",
type = "shapeless",
recipe = {
@@ -338,7 +338,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:lantern_vertical_down",
type = "shapeless",
recipe = {
@@ -346,7 +346,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:lantern_vertical_both",
type = "shapeless",
recipe = {
@@ -354,7 +354,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:lantern_up",
type = "shapeless",
recipe = {
@@ -362,7 +362,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:lantern_down",
type = "shapeless",
recipe = {
@@ -370,7 +370,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:lantern_both",
type = "shapeless",
recipe = {
@@ -378,7 +378,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:machine",
recipe = {
{m.steel_gear,m.copper_wire,""},
@@ -387,7 +387,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:pi",
recipe = {
{m.steel_strip,m.lightstone_extra},
@@ -396,7 +396,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:pilantern_up",
type = "shapeless",
recipe = {
@@ -405,7 +405,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:pilantern_down",
type = "shapeless",
recipe = {
@@ -414,7 +414,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:pilantern_both",
type = "shapeless",
recipe = {
@@ -423,7 +423,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:tape 15",
recipe = {
{m.steel_strip,"",m.steel_strip},
@@ -432,7 +432,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:tape_magnets",
type = "shapeless",
recipe = {
@@ -442,7 +442,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:tape_bracket",
type = "shapeless",
recipe = {
@@ -451,7 +451,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:dbdkiosk",
recipe = {
{m.steel_strip,m.ic,m.glass},
@@ -460,7 +460,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:genericswitch",
recipe = {
{m.steel_strip,"",""},
@@ -469,7 +469,7 @@ minetest.register_craft({
},
})
-minetest.register_craft({
+core.register_craft({
output = "celevator:governor",
recipe = {
{m.steel_strip,m.steel_bar,m.button},
diff --git a/dbdkiosk.lua b/dbdkiosk.lua
index 1250685..c76a019 100644
--- a/dbdkiosk.lua
+++ b/dbdkiosk.lua
@@ -1,17 +1,17 @@
celevator.dbdkiosk = {}
function celevator.dbdkiosk.checkprot(pos,name)
- if minetest.is_protected(pos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
- minetest.chat_send_player(name,"Can't open cabinet - cabinet is locked.")
- minetest.record_protection_violation(pos,name)
+ if core.is_protected(pos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
+ core.chat_send_player(name,"Can't open cabinet - cabinet is locked.")
+ core.record_protection_violation(pos,name)
return false
end
return true
end
function celevator.dbdkiosk.updatefields(pos)
- if minetest.get_node(pos).name ~= "celevator:dbdkiosk" then return end
- local meta = minetest.get_meta(pos)
+ if core.get_node(pos).name ~= "celevator:dbdkiosk" then return end
+ local meta = core.get_meta(pos)
local screenstate = meta:get_string("screenstate")
if screenstate == "connect" then
meta:set_string("formspec","formspec_version[7]"..
@@ -25,8 +25,8 @@ function celevator.dbdkiosk.updatefields(pos)
local fs = "formspec_version[7]"
fs = fs.."size[8,14]"
fs = fs.."label[3,0.5;Please select a floor\\:]"
- local floornames = minetest.deserialize(meta:get_string("floornames"))
- local floorsavailable = minetest.deserialize(meta:get_string("floorsavailable"))
+ local floornames = core.deserialize(meta:get_string("floornames"))
+ local floorsavailable = core.deserialize(meta:get_string("floorsavailable"))
local showfloors = {}
for i=1,#floornames,1 do
if floorsavailable[i] then
@@ -38,7 +38,7 @@ function celevator.dbdkiosk.updatefields(pos)
local floornum = showfloors[startfloor+i-1]
local floorname = floornum and floornames[floornum]
if floorname and floornum ~= landing then
- fs = fs..string.format("button[2,%f;4,1;floor%d;%s]",12-i,floornum,minetest.formspec_escape(floorname))
+ fs = fs..string.format("button[2,%f;4,1;floor%d;%s]",12-i,floornum,core.formspec_escape(floorname))
end
end
if startfloor > 1 then
@@ -67,23 +67,23 @@ end
function celevator.dbdkiosk.handlefields(pos,_,fields,player)
local name = player:get_player_name()
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local screenstate = meta:get_string("screenstate")
if screenstate == "connect" then
if not (fields.save and celevator.dbdkiosk.checkprot(pos,name)) then return end
if not (tonumber(fields.carid) and tonumber(fields.landing)) then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",fields.carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",fields.carid)))
if not carinfo then return end
if not (carinfo.dispatcherpos and celevator.dispatcher.isdispatcher(carinfo.dispatcherpos)) then return end
- local dmem = minetest.deserialize(minetest.get_meta(carinfo.dispatcherpos):get_string("mem"))
+ local dmem = core.deserialize(core.get_meta(carinfo.dispatcherpos):get_string("mem"))
if not dmem then return end
local floornames = dmem.params.floornames
local floorsavailable = {}
for i=1,#floornames,1 do
floorsavailable[i] = true
end
- meta:set_string("floornames",minetest.serialize(floornames))
- meta:set_string("floorsavailable",minetest.serialize(floorsavailable))
+ meta:set_string("floornames",core.serialize(floornames))
+ meta:set_string("floorsavailable",core.serialize(floorsavailable))
meta:set_int("screenpage",1)
meta:set_string("screenstate","main")
meta:set_int("carid",tonumber(fields.carid))
@@ -95,17 +95,17 @@ function celevator.dbdkiosk.handlefields(pos,_,fields,player)
local floor = tonumber(string.sub(k,6,-1))
if not floor then return end
local carid = meta:get_int("carid")
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not carinfo then return end
if not (carinfo.dispatcherpos and celevator.dispatcher.isdispatcher(carinfo.dispatcherpos)) then return end
- local dmem = minetest.deserialize(minetest.get_meta(carinfo.dispatcherpos):get_string("mem"))
+ local dmem = core.deserialize(core.get_meta(carinfo.dispatcherpos):get_string("mem"))
if dmem then
local floornames = dmem.params.floornames
- meta:set_string("floornames",minetest.serialize(floornames))
+ meta:set_string("floornames",core.serialize(floornames))
end
local event = {
type = "dbdkiosk",
- source = minetest.hash_node_position(pos),
+ source = core.hash_node_position(pos),
player = name,
srcfloor = meta:get_int("landing"),
destfloor = floor,
@@ -128,7 +128,7 @@ function celevator.dbdkiosk.handlefields(pos,_,fields,player)
end
function celevator.dbdkiosk.showassignment(pos,assignment)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
if meta:get_string("screenstate") == "main" then
local carnames = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P"}
if carnames[assignment] then
@@ -138,14 +138,14 @@ function celevator.dbdkiosk.showassignment(pos,assignment)
meta:set_string("screenstate","error")
end
celevator.dbdkiosk.updatefields(pos)
- minetest.after(5,function()
+ core.after(5,function()
meta:set_string("screenstate","main")
celevator.dbdkiosk.updatefields(pos)
end)
end
end
-minetest.register_node("celevator:dbdkiosk",{
+core.register_node("celevator:dbdkiosk",{
description = "Elevator Destination Entry Kiosk",
drawtype = "nodebox",
paramtype = "light",
@@ -168,7 +168,7 @@ minetest.register_node("celevator:dbdkiosk",{
"celevator_cabinet_sides.png^celevator_dbdkiosk.png",
},
on_construct = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_string("screenstate","connect")
celevator.dbdkiosk.updatefields(pos)
end,
diff --git a/decorations.lua b/decorations.lua
index 7c408e4..c61379e 100644
--- a/decorations.lua
+++ b/decorations.lua
@@ -1,4 +1,4 @@
-minetest.register_node("celevator:buffer_rubber",{
+core.register_node("celevator:buffer_rubber",{
description = "Elevator Elastomeric Buffer",
groups = {
choppy = 1,
@@ -39,7 +39,7 @@ minetest.register_node("celevator:buffer_rubber",{
},
})
-minetest.register_node("celevator:buffer_oil",{
+core.register_node("celevator:buffer_oil",{
description = "Elevator Oil-Filled Buffer",
groups = {
choppy = 1,
@@ -65,38 +65,38 @@ minetest.register_node("celevator:buffer_oil",{
},
},
after_place_node = function(pos,placer)
- local node = minetest.get_node(pos)
+ local node = core.get_node(pos)
local toppos = {x=pos.x,y=pos.y + 1,z=pos.z}
- local topnode = minetest.get_node(toppos)
+ local topnode = core.get_node(toppos)
local placername = placer:get_player_name()
if topnode.name ~= "air" then
if placer:is_player() then
- minetest.chat_send_player(placername,"Can't place buffer - no room for the top half!")
+ core.chat_send_player(placername,"Can't place buffer - no room for the top half!")
end
- minetest.set_node(pos,{name="air"})
+ core.set_node(pos,{name="air"})
return true
end
- if minetest.is_protected(toppos,placername) and not minetest.check_player_privs(placername,{protection_bypass=true}) then
+ if core.is_protected(toppos,placername) and not core.check_player_privs(placername,{protection_bypass=true}) then
if placer:is_player() then
- minetest.chat_send_player(placername,"Can't place buffer - top half is protected!")
- minetest.record_protection_violation(toppos,placername)
+ core.chat_send_player(placername,"Can't place buffer - top half is protected!")
+ core.record_protection_violation(toppos,placername)
end
- minetest.set_node(pos,{name="air"})
+ core.set_node(pos,{name="air"})
return true
end
node.name = "celevator:buffer_oil_top"
- minetest.set_node(toppos,node)
+ core.set_node(toppos,node)
end,
on_destruct = function(pos)
pos.y = pos.y + 1
- local topnode = minetest.get_node(pos)
+ local topnode = core.get_node(pos)
if topnode.name == "celevator:buffer_oil_top" then
- minetest.set_node(pos,{name="air"})
+ core.set_node(pos,{name="air"})
end
end,
})
-minetest.register_node("celevator:buffer_oil_top",{
+core.register_node("celevator:buffer_oil_top",{
description = "Elevator Oil-Filled Buffer (top half - you hacker you!)",
groups = {
choppy = 1,
@@ -116,7 +116,7 @@ minetest.register_node("celevator:buffer_oil_top",{
},
})
-minetest.register_node("celevator:guide_rail",{
+core.register_node("celevator:guide_rail",{
description = "Elevator Guide Rail",
groups = {
choppy = 1,
@@ -140,7 +140,7 @@ minetest.register_node("celevator:guide_rail",{
},
})
-minetest.register_node("celevator:guide_rail_bracket",{
+core.register_node("celevator:guide_rail_bracket",{
description = "Elevator Guide Rail with Bracket",
groups = {
choppy = 1,
@@ -169,7 +169,7 @@ minetest.register_node("celevator:guide_rail_bracket",{
},
})
-minetest.register_node("celevator:tape",{
+core.register_node("celevator:tape",{
description = "Elevator Positioning System Tape",
groups = {
choppy = 1,
@@ -194,7 +194,7 @@ minetest.register_node("celevator:tape",{
},
})
-minetest.register_node("celevator:tape_magnets",{
+core.register_node("celevator:tape_magnets",{
description = "Elevator Positioning System Tape with Magnets",
groups = {
choppy = 1,
@@ -219,7 +219,7 @@ minetest.register_node("celevator:tape_magnets",{
},
})
-minetest.register_node("celevator:tape_bracket",{
+core.register_node("celevator:tape_bracket",{
description = "Elevator Positioning System Tape with Bracket",
groups = {
choppy = 1,
@@ -246,14 +246,14 @@ minetest.register_node("celevator:tape_bracket",{
},
})
-minetest.register_entity("celevator:tapehead",{
+core.register_entity("celevator:tapehead",{
initial_properties = {
visual = "wielditem",
visual_size = vector.new(0.667,0.667,0.667),
wield_item = "celevator:tapehead",
static_save = false,
pointable = false,
- glow = minetest.LIGHT_MAX,
+ glow = core.LIGHT_MAX,
},
on_step = function(self)
local obj = self.object
@@ -261,9 +261,9 @@ minetest.register_entity("celevator:tapehead",{
local pos = obj:get_pos()
if not pos then return end
local roundpos = vector.round(pos)
- local backdir = minetest.yaw_to_dir(obj:get_yaw())
+ local backdir = core.yaw_to_dir(obj:get_yaw())
local tapepos = vector.add(roundpos,backdir)
- local tapename = minetest.get_node(tapepos).name
+ local tapename = core.get_node(tapepos).name
if tapename ~= "celevator:tape" and tapename ~= "celevator:tape_magnets" and tapename ~= "celevator:tape_bracket" then
obj:remove()
return
@@ -289,20 +289,20 @@ minetest.register_entity("celevator:tapehead",{
local function spawntapehead(pos)
local toppos = vector.add(pos,vector.new(0,1,0))
- local entitiesnearby = minetest.get_objects_inside_radius(toppos,0.5)
+ local entitiesnearby = core.get_objects_inside_radius(toppos,0.5)
for _,i in pairs(entitiesnearby) do
if i:get_luaentity() and i:get_luaentity().name == "celevator:tapehead" then
return
end
end
- local entity = minetest.add_entity(pos,"celevator:tapehead")
- local fdir = minetest.fourdir_to_dir(minetest.get_node(pos).param2)
+ local entity = core.add_entity(pos,"celevator:tapehead")
+ local fdir = core.fourdir_to_dir(core.get_node(pos).param2)
fdir = vector.rotate_around_axis(fdir,vector.new(0,1,0),-math.pi/2)
- entity:set_yaw(minetest.dir_to_yaw(fdir))
+ entity:set_yaw(core.dir_to_yaw(fdir))
entity:set_pos(toppos)
end
-minetest.register_abm({
+core.register_abm({
label = "Spawn tapeheads",
nodenames = {"group:_celevator_car_spawnstapehead"},
neighbors = {"celevator:tape","celevator:tape_magnets","celevator:tape_bracket"},
@@ -311,7 +311,7 @@ minetest.register_abm({
action = spawntapehead,
})
-minetest.register_node("celevator:tapehead",{
+core.register_node("celevator:tapehead",{
description = "Elevator Positioning System Tapehead (off, you hacker you!)",
groups = {
not_in_creative_inventory = 1,
@@ -338,7 +338,7 @@ minetest.register_node("celevator:tapehead",{
},
})
-minetest.register_node("celevator:tapehead_ulm",{
+core.register_node("celevator:tapehead_ulm",{
description = "Elevator Positioning System Tapehead (ULM on, you hacker you!)",
groups = {
not_in_creative_inventory = 1,
@@ -365,7 +365,7 @@ minetest.register_node("celevator:tapehead_ulm",{
},
})
-minetest.register_node("celevator:tapehead_ulm_dz",{
+core.register_node("celevator:tapehead_ulm_dz",{
description = "Elevator Positioning System Tapehead (ULM and DZ on, you hacker you!)",
groups = {
not_in_creative_inventory = 1,
@@ -392,7 +392,7 @@ minetest.register_node("celevator:tapehead_ulm_dz",{
},
})
-minetest.register_node("celevator:tapehead_ulm_dlm_dz",{
+core.register_node("celevator:tapehead_ulm_dlm_dz",{
description = "Elevator Positioning System Tapehead (ULM, DLM, and DZ on, you hacker you!)",
groups = {
not_in_creative_inventory = 1,
@@ -419,7 +419,7 @@ minetest.register_node("celevator:tapehead_ulm_dlm_dz",{
},
})
-minetest.register_node("celevator:tapehead_dlm_dz",{
+core.register_node("celevator:tapehead_dlm_dz",{
description = "Elevator Positioning System Tapehead (DLM and DZ on, you hacker you!)",
groups = {
not_in_creative_inventory = 1,
@@ -446,7 +446,7 @@ minetest.register_node("celevator:tapehead_dlm_dz",{
},
})
-minetest.register_node("celevator:tapehead_dlm",{
+core.register_node("celevator:tapehead_dlm",{
description = "Elevator Positioning System Tapehead (DLM on, you hacker you!)",
groups = {
not_in_creative_inventory = 1,
diff --git a/digilines.lua b/digilines.lua
index 8f5c220..7cdcce9 100644
--- a/digilines.lua
+++ b/digilines.lua
@@ -2,14 +2,14 @@ local function handledigilines(pos,node,channel,msg)
local multi = node.name == "celevator:digilines_multi_io"
if msg == "GET" then msg = {command = "GET"} end
if type(msg) ~= "table" or type(msg.command) ~= "string" then return end
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local setchannel = meta:get_string("channel")
if setchannel ~= channel then return end
if multi and type(msg.carid) ~= "number" then return end
local carid = multi and msg.carid or meta:get_int("carid")
if carid == 0 then return end
local dmode = meta:get_int("dispatcher") == 1
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid))) or {}
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid))) or {}
if multi then
dmode = carinfo.dispatcherpos
end
@@ -18,7 +18,7 @@ local function handledigilines(pos,node,channel,msg)
if not carinfo.dispatcherpos then return end
if not celevator.dispatcher.isdispatcher(carinfo.dispatcherpos) then return end
if msg.command == "get" then
- local mem = minetest.deserialize(minetest.get_meta(carinfo.dispatcherpos):get_string("mem"))
+ local mem = core.deserialize(core.get_meta(carinfo.dispatcherpos):get_string("mem"))
if not mem then return end
local ret = {
upcalls = {},
@@ -67,7 +67,7 @@ local function handledigilines(pos,node,channel,msg)
if not carinfo.controllerpos then return end
if not celevator.controller.iscontroller(carinfo.controllerpos) then return end
if msg.command == "get" then
- local mem = minetest.deserialize(minetest.get_meta(carinfo.controllerpos):get_string("mem"))
+ local mem = core.deserialize(core.get_meta(carinfo.controllerpos):get_string("mem"))
if not mem then return end
local ret = {
carstate = mem.carstate,
@@ -174,7 +174,7 @@ local function handledigilines(pos,node,channel,msg)
end
end
-minetest.register_node("celevator:digilines_io",{
+core.register_node("celevator:digilines_io",{
description = "Elevator Digilines Input/Output",
tiles = {
"celevator_digilinesio_top.png",
@@ -199,7 +199,7 @@ minetest.register_node("celevator:digilines_io",{
},
},
after_place_node = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local fs = "formspec_version[7]size[8,4.5]"
fs = fs.."field[0.5,0.5;3,1;channel;Channel;${channel}]"
fs = fs.."field[4.5,0.5;3,1;carid;Car ID;${carid}]"
@@ -207,19 +207,19 @@ minetest.register_node("celevator:digilines_io",{
meta:set_string("formspec",fs)
end,
on_receive_fields = function(pos,_,fields,player)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
if not fields.save then return end
local name = player:get_player_name()
- if minetest.is_protected(pos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
+ if core.is_protected(pos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
if player:is_player() then
- minetest.record_protection_violation(pos,name)
+ core.record_protection_violation(pos,name)
end
return
end
if not tonumber(fields.carid) then return end
meta:set_int("carid",fields.carid)
local carid = tonumber(fields.carid)
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid))) or {}
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid))) or {}
if not (carinfo.controllerpos or carinfo.dispatcherpos) then return end
local dmode = false
if carinfo.dispatcherpos then
@@ -229,18 +229,18 @@ minetest.register_node("celevator:digilines_io",{
if not celevator.controller.iscontroller(carinfo.controllerpos) then return end
end
if dmode then
- if minetest.is_protected(carinfo.dispatcherpos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
+ if core.is_protected(carinfo.dispatcherpos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
if player:is_player() then
- minetest.chat_send_player(name,"Can't connect to a dispatcher you don't have access to.")
- minetest.record_protection_violation(carinfo.dispatcherpos,name)
+ core.chat_send_player(name,"Can't connect to a dispatcher you don't have access to.")
+ core.record_protection_violation(carinfo.dispatcherpos,name)
end
return
end
else
- if minetest.is_protected(carinfo.controllerpos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
+ if core.is_protected(carinfo.controllerpos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
if player:is_player() then
- minetest.chat_send_player(name,"Can't connect to a controller you don't have access to.")
- minetest.record_protection_violation(carinfo.controllerpos,name)
+ core.chat_send_player(name,"Can't connect to a controller you don't have access to.")
+ core.record_protection_violation(carinfo.controllerpos,name)
end
return
end
@@ -252,7 +252,7 @@ minetest.register_node("celevator:digilines_io",{
end,
})
-minetest.register_node("celevator:digilines_multi_io",{
+core.register_node("celevator:digilines_multi_io",{
description = "Elevator Digilines Multi-Car Input/Output",
tiles = {
"celevator_digilinesio_multi_top.png",
@@ -279,28 +279,28 @@ minetest.register_node("celevator:digilines_multi_io",{
},
after_place_node = function(pos,player)
local name = player:get_player_name()
- if not (minetest.check_player_privs(name,{protection_bypass=true}) or minetest.check_player_privs(name,{server=true})) then
+ if not (core.check_player_privs(name,{protection_bypass=true}) or core.check_player_privs(name,{server=true})) then
if player:is_player() then
- minetest.chat_send_player(name,"You need either the 'protection_bypass' or 'server' privilege to use this.")
- minetest.record_protection_violation(pos,name)
+ core.chat_send_player(name,"You need either the 'protection_bypass' or 'server' privilege to use this.")
+ core.record_protection_violation(pos,name)
end
- minetest.remove_node(pos)
+ core.remove_node(pos)
return
end
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local fs = "formspec_version[7]size[8,4.5]"
fs = fs.."field[0.5,0.5;7,1;channel;Channel;${channel}]"
fs = fs.."button_exit[2.5,2;3,1;save;Save]"
meta:set_string("formspec",fs)
end,
on_receive_fields = function(pos,_,fields,player)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
if not fields.save then return end
local name = player:get_player_name()
- if not (minetest.check_player_privs(name,{protection_bypass=true}) or minetest.check_player_privs(name,{server=true})) then
+ if not (core.check_player_privs(name,{protection_bypass=true}) or core.check_player_privs(name,{server=true})) then
if player:is_player() then
- minetest.chat_send_player(name,"You need either the 'protection_bypass' or 'server' privilege to use this.")
- minetest.record_protection_violation(pos,name)
+ core.chat_send_player(name,"You need either the 'protection_bypass' or 'server' privilege to use this.")
+ core.record_protection_violation(pos,name)
end
return
end
diff --git a/dispatcher.lua b/dispatcher.lua
index 02533ff..b38a4c3 100644
--- a/dispatcher.lua
+++ b/dispatcher.lua
@@ -1,20 +1,20 @@
celevator.dispatcher = {}
-celevator.dispatcher.iqueue = minetest.deserialize(celevator.storage:get_string("dispatcher_iqueue")) or {}
+celevator.dispatcher.iqueue = core.deserialize(celevator.storage:get_string("dispatcher_iqueue")) or {}
-celevator.dispatcher.equeue = minetest.deserialize(celevator.storage:get_string("dispatcher_equeue")) or {}
+celevator.dispatcher.equeue = core.deserialize(celevator.storage:get_string("dispatcher_equeue")) or {}
celevator.dispatcher.running = {}
-local fw,err = loadfile(minetest.get_modpath("celevator")..DIR_DELIM.."dispatcherfw.lua")
+local fw,err = loadfile(core.get_modpath("celevator")..DIR_DELIM.."dispatcherfw.lua")
if not fw then error(err) end
-minetest.register_chatcommand("celevator_reloaddispatcher",{
+core.register_chatcommand("celevator_reloaddispatcher",{
params = "",
description = "Reload celevator dispatcher firmware from disk",
privs = {server = true},
func = function()
- local newfw,loaderr = loadfile(minetest.get_modpath("celevator")..DIR_DELIM.."dispatcherfw.lua")
+ local newfw,loaderr = loadfile(core.get_modpath("celevator")..DIR_DELIM.."dispatcherfw.lua")
if newfw then
fw = newfw
return true,"Firmware reloaded successfully"
@@ -25,57 +25,57 @@ minetest.register_chatcommand("celevator_reloaddispatcher",{
})
local function after_place(pos,placer)
- local node = minetest.get_node(pos)
+ local node = core.get_node(pos)
local toppos = {x=pos.x,y=pos.y + 1,z=pos.z}
- local topnode = minetest.get_node(toppos)
+ local topnode = core.get_node(toppos)
local placername = placer:get_player_name()
if topnode.name ~= "air" then
if placer:is_player() then
- minetest.chat_send_player(placername,"Can't place cabinet - no room for the top half!")
+ core.chat_send_player(placername,"Can't place cabinet - no room for the top half!")
end
- minetest.set_node(pos,{name="air"})
+ core.set_node(pos,{name="air"})
return true
end
- if minetest.is_protected(toppos,placername) and not minetest.check_player_privs(placername,{protection_bypass=true}) then
+ if core.is_protected(toppos,placername) and not core.check_player_privs(placername,{protection_bypass=true}) then
if placer:is_player() then
- minetest.chat_send_player(placername,"Can't place cabinet - top half is protected!")
- minetest.record_protection_violation(toppos,placername)
+ core.chat_send_player(placername,"Can't place cabinet - top half is protected!")
+ core.record_protection_violation(toppos,placername)
end
- minetest.set_node(pos,{name="air"})
+ core.set_node(pos,{name="air"})
return true
end
node.name = "celevator:dispatcher_top"
- minetest.set_node(toppos,node)
+ core.set_node(toppos,node)
end
local function ondestruct(pos)
pos.y = pos.y + 1
- local topnode = minetest.get_node(pos)
+ local topnode = core.get_node(pos)
local dispatchertops = {
["celevator:dispatcher_top"] = true,
["celevator:dispatcher_top_open"] = true,
}
if dispatchertops[topnode.name] then
- minetest.set_node(pos,{name="air"})
+ core.set_node(pos,{name="air"})
end
- celevator.dispatcher.equeue[minetest.hash_node_position(pos)] = nil
- celevator.storage:set_string("dispatcher_equeue",minetest.serialize(celevator.dispatcher.equeue))
- local carid = minetest.get_meta(pos):get_int("carid")
+ celevator.dispatcher.equeue[core.hash_node_position(pos)] = nil
+ celevator.storage:set_string("dispatcher_equeue",core.serialize(celevator.dispatcher.equeue))
+ local carid = core.get_meta(pos):get_int("carid")
if carid ~= 0 then celevator.storage:set_string(string.format("car%d",carid),"") end
end
local function onrotate(controllerpos,node,user,mode,new_param2)
- if not minetest.global_exists("screwdriver") then
+ if not core.global_exists("screwdriver") then
return false
end
local ret = screwdriver.rotate_simple(controllerpos,node,user,mode,new_param2)
- minetest.after(0,function(pos)
- local newnode = minetest.get_node(pos)
+ core.after(0,function(pos)
+ local newnode = core.get_node(pos)
local param2 = newnode.param2
pos.y = pos.y + 1
- local topnode = minetest.get_node(pos)
+ local topnode = core.get_node(pos)
topnode.param2 = param2
- minetest.set_node(pos,topnode)
+ core.set_node(pos,topnode)
end,controllerpos)
return ret
end
@@ -94,12 +94,12 @@ local function candig(_,player)
if controls.sneak then
return true
else
- minetest.chat_send_player(player:get_player_name(),"Hold the sneak button while digging to remove.")
+ core.chat_send_player(player:get_player_name(),"Hold the sneak button while digging to remove.")
return false
end
end
-minetest.register_node("celevator:dispatcher",{
+core.register_node("celevator:dispatcher",{
description = "Elevator Dispatcher",
groups = {
cracky = 1,
@@ -133,15 +133,15 @@ minetest.register_node("celevator:dispatcher",{
on_receive_fields = handlefields,
can_dig = candig,
on_construct = function(pos)
- local meta = minetest.get_meta(pos)
- meta:set_string("mem",minetest.serialize({}))
+ local meta = core.get_meta(pos)
+ meta:set_string("mem",core.serialize({}))
meta:mark_as_private("mem")
local event = {}
event.type = "program"
local carid = celevator.storage:get_int("maxcarid")+1
meta:set_int("carid",carid)
celevator.storage:set_int("maxcarid",carid)
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize({dispatcherpos=pos,callbuttons={},fs1switches={}}))
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize({dispatcherpos=pos,callbuttons={},fs1switches={}}))
celevator.dispatcher.run(pos,event)
end,
on_punch = function(pos,node,puncher)
@@ -149,20 +149,20 @@ minetest.register_node("celevator:dispatcher",{
return
end
local name = puncher:get_player_name()
- if minetest.is_protected(pos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
- minetest.chat_send_player(name,"Can't open cabinet - cabinet is locked.")
- minetest.record_protection_violation(pos,name)
+ if core.is_protected(pos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
+ core.chat_send_player(name,"Can't open cabinet - cabinet is locked.")
+ core.record_protection_violation(pos,name)
return
end
node.name = "celevator:dispatcher_open"
- minetest.swap_node(pos,node)
- local meta = minetest.get_meta(pos)
+ core.swap_node(pos,node)
+ local meta = core.get_meta(pos)
meta:set_string("formspec",meta:get_string("formspec_hidden"))
pos.y = pos.y + 1
- node = minetest.get_node(pos)
+ node = core.get_node(pos)
node.name = "celevator:dispatcher_top_open"
- minetest.swap_node(pos,node)
- minetest.sound_play("celevator_cabinet_open",{
+ core.swap_node(pos,node)
+ core.sound_play("celevator_cabinet_open",{
pos = pos,
gain = 0.5,
max_hear_distance = 10
@@ -170,7 +170,7 @@ minetest.register_node("celevator:dispatcher",{
end,
})
-minetest.register_node("celevator:dispatcher_open",{
+core.register_node("celevator:dispatcher_open",{
description = "Dispatcher (door open - you hacker you!)",
groups = {
cracky = 1,
@@ -215,14 +215,14 @@ minetest.register_node("celevator:dispatcher_open",{
return
end
node.name = "celevator:dispatcher"
- minetest.swap_node(pos,node)
- local meta = minetest.get_meta(pos)
+ core.swap_node(pos,node)
+ local meta = core.get_meta(pos)
meta:set_string("formspec","")
pos.y = pos.y + 1
- node = minetest.get_node(pos)
+ node = core.get_node(pos)
node.name = "celevator:dispatcher_top"
- minetest.swap_node(pos,node)
- minetest.sound_play("celevator_cabinet_close",{
+ core.swap_node(pos,node)
+ core.sound_play("celevator_cabinet_close",{
pos = pos,
gain = 0.5,
max_hear_distance = 10
@@ -230,7 +230,7 @@ minetest.register_node("celevator:dispatcher_open",{
end,
})
-minetest.register_node("celevator:dispatcher_top",{
+core.register_node("celevator:dispatcher_top",{
description = "Dispatcher (top section - you hacker you!)",
groups = {
not_in_creative_inventory = 1,
@@ -261,7 +261,7 @@ minetest.register_node("celevator:dispatcher_top",{
},
})
-minetest.register_node("celevator:dispatcher_top_open",{
+core.register_node("celevator:dispatcher_top_open",{
description = "Dispatcher (top section, open - you hacker you!)",
groups = {
not_in_creative_inventory = 1,
@@ -303,16 +303,16 @@ function celevator.dispatcher.finish(pos,mem,changedinterrupts)
if not celevator.dispatcher.isdispatcher(pos) then
return
else
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local carid = meta:get_int("carid")
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
local carinfodirty = false
if not carinfo then
- minetest.log("error","[celevator] [controller] Bad car info for dispatcher at "..minetest.pos_to_string(pos))
+ core.log("error","[celevator] [controller] Bad car info for dispatcher at "..core.pos_to_string(pos))
return
end
local node = celevator.get_node(pos)
- local oldmem = minetest.deserialize(meta:get_string("mem")) or {}
+ local oldmem = core.deserialize(meta:get_string("mem")) or {}
local oldupbuttonlights = oldmem.upcalls or {}
local olddownbuttonlights = oldmem.dncalls or {}
local newupbuttonlights = mem.upcalls or {}
@@ -335,7 +335,7 @@ function celevator.dispatcher.finish(pos,mem,changedinterrupts)
end
end
for _,message in ipairs(mem.messages) do
- local destinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",message.carid)))
+ local destinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",message.carid)))
if destinfo and destinfo.controllerpos then
celevator.controller.run(destinfo.controllerpos,{
type = "dispatchermsg",
@@ -346,27 +346,27 @@ function celevator.dispatcher.finish(pos,mem,changedinterrupts)
end
end
for _,message in ipairs(mem.kioskmessages) do
- celevator.dbdkiosk.showassignment(minetest.get_position_from_hash(message.pos),message.car)
+ celevator.dbdkiosk.showassignment(core.get_position_from_hash(message.pos),message.car)
end
- meta:set_string("mem",minetest.serialize(mem))
+ meta:set_string("mem",core.serialize(mem))
if node.name == "celevator:dispatcher_open" then meta:set_string("formspec",mem.formspec or "") end
meta:set_string("formspec_hidden",mem.formspec or "")
meta:set_string("infotext",mem.infotext or "")
- local hash = minetest.hash_node_position(pos)
+ local hash = core.hash_node_position(pos)
if not celevator.dispatcher.iqueue[hash] then celevator.dispatcher.iqueue[hash] = mem.interrupts end
for iid in pairs(changedinterrupts) do
celevator.dispatcher.iqueue[hash][iid] = mem.interrupts[iid]
end
- celevator.storage:set_string("dispatcher_iqueue",minetest.serialize(celevator.dispatcher.iqueue))
+ celevator.storage:set_string("dispatcher_iqueue",core.serialize(celevator.dispatcher.iqueue))
celevator.dispatcher.running[hash] = nil
if #celevator.dispatcher.equeue[hash] > 0 then
local event = celevator.dispatcher.equeue[hash][1]
table.remove(celevator.dispatcher.equeue[hash],1)
- celevator.storage:set_string("dispatcher_equeue",minetest.serialize(celevator.dispatcher.equeue))
+ celevator.storage:set_string("dispatcher_equeue",core.serialize(celevator.dispatcher.equeue))
celevator.dispatcher.run(pos,event)
end
if carinfodirty then
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
end
end
end
@@ -375,30 +375,30 @@ function celevator.dispatcher.run(pos,event)
if not celevator.dispatcher.isdispatcher(pos) then
return
else
- local hash = minetest.hash_node_position(pos)
+ local hash = core.hash_node_position(pos)
if not celevator.dispatcher.equeue[hash] then
celevator.dispatcher.equeue[hash] = {}
- celevator.storage:set_string("dispatcher_equeue",minetest.serialize(celevator.dispatcher.equeue))
+ celevator.storage:set_string("dispatcher_equeue",core.serialize(celevator.dispatcher.equeue))
end
if celevator.dispatcher.running[hash] then
table.insert(celevator.dispatcher.equeue[hash],event)
- celevator.storage:set_string("dispatcher_equeue",minetest.serialize(celevator.dispatcher.equeue))
+ celevator.storage:set_string("dispatcher_equeue",core.serialize(celevator.dispatcher.equeue))
if #celevator.dispatcher.equeue[hash] > 20 then
local message = "[celevator] [dispatcher] Async process for dispatcher at %s is falling behind, %d events in queue"
- minetest.log("warning",string.format(message,minetest.pos_to_string(pos),#celevator.dispatcher.equeue[hash]))
+ core.log("warning",string.format(message,core.pos_to_string(pos),#celevator.dispatcher.equeue[hash]))
end
return
end
celevator.dispatcher.running[hash] = true
- local meta = minetest.get_meta(pos)
- local mem = minetest.deserialize(meta:get_string("mem"))
+ local meta = core.get_meta(pos)
+ local mem = core.deserialize(meta:get_string("mem"))
if not mem then
- minetest.log("error","[celevator] [controller] Failed to load dispatcher memory at "..minetest.pos_to_string(pos))
+ core.log("error","[celevator] [controller] Failed to load dispatcher memory at "..core.pos_to_string(pos))
return
end
- mem.interrupts = celevator.dispatcher.iqueue[minetest.hash_node_position(pos)] or {}
+ mem.interrupts = celevator.dispatcher.iqueue[core.hash_node_position(pos)] or {}
mem.carid = meta:get_int("carid")
- minetest.handle_async(fw,celevator.dispatcher.finish,pos,event,mem)
+ core.handle_async(fw,celevator.dispatcher.finish,pos,event,mem)
end
end
@@ -421,7 +421,7 @@ end
function celevator.dispatcher.checkiqueue(dtime)
for hash,iqueue in pairs(celevator.dispatcher.iqueue) do
- local pos = minetest.get_position_from_hash(hash)
+ local pos = core.get_position_from_hash(hash)
local noneleft = true
for iid,time in pairs(iqueue) do
noneleft = false
@@ -436,14 +436,14 @@ function celevator.dispatcher.checkiqueue(dtime)
end
if noneleft then
celevator.dispatcher.iqueue[hash] = nil
- celevator.storage:set_string("dispatcher_iqueue",minetest.serialize(celevator.dispatcher.iqueue))
+ celevator.storage:set_string("dispatcher_iqueue",core.serialize(celevator.dispatcher.iqueue))
end
end
end
-minetest.register_globalstep(celevator.dispatcher.checkiqueue)
+core.register_globalstep(celevator.dispatcher.checkiqueue)
-minetest.register_abm({
+core.register_abm({
label = "Run otherwise idle dispatchers if a user is nearby",
nodenames = {"celevator:dispatcher","celevator:dispatcher_open"},
interval = 1,
diff --git a/dispatcherfw.lua b/dispatcherfw.lua
index 208b755..27066b4 100644
--- a/dispatcherfw.lua
+++ b/dispatcherfw.lua
@@ -359,7 +359,7 @@ elseif event.type == "ui" then
mem.screenstate = "oobe_welcome"
end
elseif mem.screenstate == "oobe_floortable" or mem.screenstate == "floortable" then
- local exp = event.fields.floor and minetest.explode_textlist_event(event.fields.floor) or {}
+ local exp = event.fields.floor and core.explode_textlist_event(event.fields.floor) or {}
if event.fields.back then
mem.screenstate = "oobe_welcome"
elseif event.fields.next then
@@ -423,7 +423,7 @@ elseif event.type == "ui" then
mem.params.floornames[mem.editingfloor] = string.sub(event.fields.name,1,256)
end
elseif mem.screenstate == "oobe_connections" or mem.screenstate == "connections" then
- local exp = event.fields.connection and minetest.explode_textlist_event(event.fields.connection) or {}
+ local exp = event.fields.connection and core.explode_textlist_event(event.fields.connection) or {}
if event.fields.back then
mem.screenstate = "oobe_floortable"
elseif event.fields.next and #mem.params.carids > 0 then
@@ -449,7 +449,7 @@ elseif event.type == "ui" then
mem.editingconnection = math.max(1,mem.editingconnection-1)
end
elseif mem.screenstate == "oobe_newconnection" or mem.screenstate == "newconnection" then
- local exp = event.fields.floors and minetest.explode_textlist_event(event.fields.floors) or {}
+ local exp = event.fields.floors and core.explode_textlist_event(event.fields.floors) or {}
if event.fields.back then
mem.screenstate = (mem.screenstate == "oobe_newconnection" and "oobe_connections" or "connections")
elseif event.fields.connect and fields.carid and tonumber(fields.carid) then
@@ -474,7 +474,7 @@ elseif event.type == "ui" then
mem.newconnfloors[floor] = not mem.newconnfloors[floor]
end
elseif mem.screenstate == "oobe_connection" or mem.screenstate == "connection" then
- local exp = event.fields.floors and minetest.explode_textlist_event(event.fields.floors) or {}
+ local exp = event.fields.floors and core.explode_textlist_event(event.fields.floors) or {}
if event.fields.back then
mem.screenstate = (mem.screenstate == "oobe_connection" and "oobe_connections" or "connections")
elseif event.fields.save then
@@ -936,8 +936,8 @@ if mem.screenstate == "oobe_welcome" then
fs("button[1,10;2,1;license;License Info]")
fs("button[13,10;2,1;next;Next >]")
elseif mem.screenstate == "oobe_license" then
- local licensefile = io.open(minetest.get_modpath("celevator")..DIR_DELIM.."LICENSE")
- local license = minetest.formspec_escape(licensefile:read("*all"))
+ local licensefile = io.open(core.get_modpath("celevator")..DIR_DELIM.."LICENSE")
+ local license = core.formspec_escape(licensefile:read("*all"))
licensefile:close()
fs("textarea[1,1;14,8;license;This applies to the whole celevator mod\\, not just this dispatcher:;"..license.."]")
fs("button[7,10.5;2,1;back;OK]")
@@ -953,7 +953,7 @@ elseif mem.screenstate == "oobe_floortable" or mem.screenstate == "floortable" t
end
fs("textlist[1,2;6,7;floor;")
for i=#mem.params.floornames,1,-1 do
- fs(minetest.formspec_escape(string.format("%d - Height: %d - PI: %s",i,mem.params.floorheights[i],mem.params.floornames[i]))..(i==1 and "" or ","))
+ fs(core.formspec_escape(string.format("%d - Height: %d - PI: %s",i,mem.params.floorheights[i],mem.params.floornames[i]))..(i==1 and "" or ","))
end
fs(";"..tostring(#mem.params.floornames-mem.editingfloor+1)..";false]")
if #mem.params.floornames < 100 then fs("button[8,2;2,1;add;New Floor]") end
@@ -972,7 +972,7 @@ elseif mem.screenstate == "oobe_floortable_edit" or mem.screenstate == "floortab
end
fs("label[1,1;Editing floor "..tostring(mem.editingfloor).."]")
fs("field[1,3;3,1;height;Floor Height;"..tostring(mem.params.floorheights[mem.editingfloor]).."]")
- fs("field[5,3;3,1;name;Floor Name;"..minetest.formspec_escape(mem.params.floornames[mem.editingfloor]).."]")
+ fs("field[5,3;3,1;name;Floor Name;"..core.formspec_escape(mem.params.floornames[mem.editingfloor]).."]")
elseif mem.screenstate == "oobe_connections" or mem.screenstate == "connections" then
if mem.screenstate == "oobe_connections" then
fs("label[1,1;Connect to each car in the group, then click Done.]")
@@ -1011,7 +1011,7 @@ elseif mem.screenstate == "oobe_newconnection" or mem.screenstate == "newconnect
end
fs("textlist[8,2;6,7;floors;")
for i=#mem.params.floornames,1,-1 do
- fs(string.format("%s - %s",minetest.formspec_escape(mem.params.floornames[i]),mem.newconnfloors[i] and "YES" or "NO")..(i==1 and "" or ","))
+ fs(string.format("%s - %s",core.formspec_escape(mem.params.floornames[i]),mem.newconnfloors[i] and "YES" or "NO")..(i==1 and "" or ","))
end
fs(";0;false]")
fs("field[2,3;4,1;carid;Car ID;]")
@@ -1032,7 +1032,7 @@ elseif mem.screenstate == "oobe_connection" or mem.screenstate == "connection" t
end
fs("textlist[8,2;6,7;floors;")
for i=#mem.params.floornames,1,-1 do
- fs(string.format("%s - %s",minetest.formspec_escape(mem.params.floornames[i]),mem.newconnfloors[i] and "YES" or "NO")..(i==1 and "" or ","))
+ fs(string.format("%s - %s",core.formspec_escape(mem.params.floornames[i]),mem.newconnfloors[i] and "YES" or "NO")..(i==1 and "" or ","))
end
fs(";0;false]")
fs("label[2,3;Car ID: "..mem.params.carids[mem.editingconnection].."]")
@@ -1057,7 +1057,7 @@ elseif mem.screenstate == "status" then
local carid = mem.params.carids[car]
local carstate = mem.carstatus[carid].state
fs(string.format("label[%f,11;CAR %d]",xp,car))
- fs(string.format("label[%f,11.35;%s]",xp+0.1,minetest.colorize("#ff5555",(carstate == "normal" and " IN" or "OUT"))))
+ fs(string.format("label[%f,11.35;%s]",xp+0.1,core.colorize("#ff5555",(carstate == "normal" and " IN" or "OUT"))))
end
local lowestfloor = (mem.screenpage-1)*10+1
for i=1,math.min(10,#mem.params.floornames-lowestfloor+1),1 do
@@ -1065,11 +1065,11 @@ elseif mem.screenstate == "status" then
local floor = i+lowestfloor-1
fs(string.format("label[0.9,%f;%s]",yp+0.35,mem.params.floornames[floor]))
local uplabel = ""
- if mem.upcalls[floor] then uplabel = minetest.colorize("#55FF55",math.floor(mem.upeta[floor] or 0)) end
+ if mem.upcalls[floor] then uplabel = core.colorize("#55FF55",math.floor(mem.upeta[floor] or 0)) end
if floor < #mem.params.floornames then fs(string.format("image_button[0.15,%f;0.75,0.75;celevator_fs_bg.png;upcall%d;%s]",yp,floor,uplabel)) end
fs(string.format("label[18.65,%f;%s]",yp+0.35,mem.params.floornames[floor]))
local dnlabel = ""
- if mem.dncalls[floor] then dnlabel = minetest.colorize("#FF5555",math.floor(mem.dneta[floor] or 0)) end
+ if mem.dncalls[floor] then dnlabel = core.colorize("#FF5555",math.floor(mem.dneta[floor] or 0)) end
if floor > 1 then fs(string.format("image_button[19.1,%f;0.75,0.75;celevator_fs_bg.png;dncall%d;%s]",yp,floor,dnlabel)) end
for car=1,#mem.params.carids,1 do
local xp = 1.7+(car-1)
@@ -1077,10 +1077,10 @@ elseif mem.screenstate == "status" then
local carfloor = realtocarfloor(carid,floor)
if carfloor then
local ccdot = mem.carstatus[carid].carcalls[carfloor] and "*" or ""
- local groupup = mem.carstatus[carid].groupupcalls[carfloor] and minetest.colorize("#55FF55","^") or ""
- local swingup = mem.carstatus[carid].swingupcalls[carfloor] and minetest.colorize("#FFFF55","^") or ""
- local swingdn = mem.carstatus[carid].swingdncalls[carfloor] and minetest.colorize("#FFFF55","v") or ""
- local groupdn = mem.carstatus[carid].groupdncalls[carfloor] and minetest.colorize("#FF5555","v") or ""
+ local groupup = mem.carstatus[carid].groupupcalls[carfloor] and core.colorize("#55FF55","^") or ""
+ local swingup = mem.carstatus[carid].swingupcalls[carfloor] and core.colorize("#FFFF55","^") or ""
+ local swingdn = mem.carstatus[carid].swingdncalls[carfloor] and core.colorize("#FFFF55","v") or ""
+ local groupdn = mem.carstatus[carid].groupdncalls[carfloor] and core.colorize("#FF5555","v") or ""
ccdot = groupup..swingup..ccdot..swingdn..groupdn
if getpos(carid) == floor then
local cargraphics = {
@@ -1092,9 +1092,9 @@ elseif mem.screenstate == "status" then
}
ccdot = cargraphics[mem.carstatus[carid].doorstate]
if mem.carstatus[carid].direction == "up" then
- ccdot = minetest.colorize("#55FF55",ccdot)
+ ccdot = core.colorize("#55FF55",ccdot)
elseif mem.carstatus[carid].direction == "down" then
- ccdot = minetest.colorize("#FF5555",ccdot)
+ ccdot = core.colorize("#FF5555",ccdot)
end
end
fs(string.format("image_button[%f,%f;0.75,0.75;celevator_fs_bg.png;carcall%02d%d;%s]",xp,yp,car,floor,ccdot))
diff --git a/doors.lua b/doors.lua
index f16ced8..3d2e0e3 100644
--- a/doors.lua
+++ b/doors.lua
@@ -9,12 +9,12 @@ celevator.doors.hwdoor_step_enabled = true
celevator.doors.cardoor_step_enabled = true
local function placesill(pos,node)
- local erefs = minetest.get_objects_inside_radius(pos,0.5)
+ local erefs = core.get_objects_inside_radius(pos,0.5)
for _,ref in pairs(erefs) do
if ref:get_luaentity() and ref:get_luaentity().name == "celevator:door_sill" then return end
end
- local yaw = minetest.dir_to_yaw(minetest.fourdir_to_dir(node.param2))
- local entity = minetest.add_entity(pos,"celevator:door_sill")
+ local yaw = core.dir_to_yaw(core.fourdir_to_dir(node.param2))
+ local entity = core.add_entity(pos,"celevator:door_sill")
if node.name == "celevator:hwdoor_slow_glass_bottom" or node.name == "celevator:hwdoor_slow_steel_bottom" then
entity:set_properties({
wield_item = "celevator:door_sill_double",
@@ -23,7 +23,7 @@ local function placesill(pos,node)
entity:set_yaw(yaw)
end
-minetest.register_node("celevator:hwdoor_fast_glass_bottom",{
+core.register_node("celevator:hwdoor_fast_glass_bottom",{
description = "Glass Hoistway Door (fast, bottom - you hacker you!)",
tiles = {
"celevator_transparent.png",
@@ -50,11 +50,11 @@ minetest.register_node("celevator:hwdoor_fast_glass_bottom",{
},
},
after_dig_node = function(pos,node)
- local erefs = minetest.get_objects_inside_radius(pos,1.5)
+ local erefs = core.get_objects_inside_radius(pos,1.5)
for _,ref in pairs(erefs) do
if ref:get_luaentity() and ref:get_luaentity().name == "celevator:door_sill" then ref:remove() end
end
- local facedir = minetest.dir_to_yaw(minetest.fourdir_to_dir(node.param2))
+ local facedir = core.dir_to_yaw(core.fourdir_to_dir(node.param2))
local xnames = {
[0] = "fast",
[1] = "slow",
@@ -69,13 +69,13 @@ minetest.register_node("celevator:hwdoor_fast_glass_bottom",{
local piecename = string.format("celevator:hwdoor_%s_glass_%s",xnames[x],ynames[y])
local pieceoffset = vector.new(x,y,0)
local piecepos = vector.add(pos,vector.rotate_around_axis(pieceoffset,vector.new(0,1,0),facedir))
- if minetest.get_node(piecepos).name == piecename then minetest.remove_node(piecepos) end
+ if core.get_node(piecepos).name == piecename then core.remove_node(piecepos) end
end
end
end,
})
-minetest.register_node("celevator:hwdoor_fast_glass_middle",{
+core.register_node("celevator:hwdoor_fast_glass_middle",{
description = "Glass Hoistway Door (fast, middle - you hacker you!)",
tiles = {
"celevator_transparent.png",
@@ -101,7 +101,7 @@ minetest.register_node("celevator:hwdoor_fast_glass_middle",{
},
})
-minetest.register_node("celevator:hwdoor_fast_glass_top",{
+core.register_node("celevator:hwdoor_fast_glass_top",{
description = "Glass Hoistway Door (fast, top - you hacker you!)",
tiles = {
"celevator_door_glass_edge.png",
@@ -127,7 +127,7 @@ minetest.register_node("celevator:hwdoor_fast_glass_top",{
},
})
-minetest.register_node("celevator:hwdoor_slow_glass_bottom",{
+core.register_node("celevator:hwdoor_slow_glass_bottom",{
description = "Glass Hoistway Door (slow, bottom - you hacker you!)",
tiles = {
"celevator_transparent.png",
@@ -153,7 +153,7 @@ minetest.register_node("celevator:hwdoor_slow_glass_bottom",{
},
})
-minetest.register_node("celevator:hwdoor_slow_glass_middle",{
+core.register_node("celevator:hwdoor_slow_glass_middle",{
description = "Glass Hoistway Door (slow, middle - you hacker you!)",
tiles = {
"celevator_transparent.png",
@@ -179,7 +179,7 @@ minetest.register_node("celevator:hwdoor_slow_glass_middle",{
},
})
-minetest.register_node("celevator:hwdoor_slow_glass_top",{
+core.register_node("celevator:hwdoor_slow_glass_top",{
description = "Glass Hoistway Door (slow, top - you hacker you!)",
tiles = {
"celevator_door_glass_edge.png",
@@ -205,7 +205,7 @@ minetest.register_node("celevator:hwdoor_slow_glass_top",{
},
})
-minetest.register_node("celevator:hwdoor_fast_steel_bottom",{
+core.register_node("celevator:hwdoor_fast_steel_bottom",{
description = "Steel Hoistway Door (fast, bottom - you hacker you!)",
tiles = {
"celevator_transparent.png",
@@ -231,11 +231,11 @@ minetest.register_node("celevator:hwdoor_fast_steel_bottom",{
},
},
after_dig_node = function(pos,node)
- local erefs = minetest.get_objects_inside_radius(pos,1.5)
+ local erefs = core.get_objects_inside_radius(pos,1.5)
for _,ref in pairs(erefs) do
if ref:get_luaentity() and ref:get_luaentity().name == "celevator:door_sill" then ref:remove() end
end
- local facedir = minetest.dir_to_yaw(minetest.fourdir_to_dir(node.param2))
+ local facedir = core.dir_to_yaw(core.fourdir_to_dir(node.param2))
local xnames = {
[0] = "fast",
[1] = "slow",
@@ -250,13 +250,13 @@ minetest.register_node("celevator:hwdoor_fast_steel_bottom",{
local piecename = string.format("celevator:hwdoor_%s_steel_%s",xnames[x],ynames[y])
local pieceoffset = vector.new(x,y,0)
local piecepos = vector.add(pos,vector.rotate_around_axis(pieceoffset,vector.new(0,1,0),facedir))
- if minetest.get_node(piecepos).name == piecename then minetest.remove_node(piecepos) end
+ if core.get_node(piecepos).name == piecename then core.remove_node(piecepos) end
end
end
end,
})
-minetest.register_node("celevator:hwdoor_fast_steel_middle",{
+core.register_node("celevator:hwdoor_fast_steel_middle",{
description = "Steel Hoistway Door (fast, middle - you hacker you!)",
tiles = {
"celevator_transparent.png",
@@ -281,7 +281,7 @@ minetest.register_node("celevator:hwdoor_fast_steel_middle",{
},
})
-minetest.register_node("celevator:hwdoor_fast_steel_top",{
+core.register_node("celevator:hwdoor_fast_steel_top",{
description = "Steel Hoistway Door (fast, top - you hacker you!)",
tiles = {
"celevator_door_glass_edge.png",
@@ -306,7 +306,7 @@ minetest.register_node("celevator:hwdoor_fast_steel_top",{
},
})
-minetest.register_node("celevator:hwdoor_slow_steel_bottom",{
+core.register_node("celevator:hwdoor_slow_steel_bottom",{
description = "Steel Hoistway Door (slow, bottom - you hacker you!)",
tiles = {
"celevator_transparent.png",
@@ -331,7 +331,7 @@ minetest.register_node("celevator:hwdoor_slow_steel_bottom",{
},
})
-minetest.register_node("celevator:hwdoor_slow_steel_middle",{
+core.register_node("celevator:hwdoor_slow_steel_middle",{
description = "Steel Hoistway Door (slow, middle - you hacker you!)",
tiles = {
"celevator_transparent.png",
@@ -356,7 +356,7 @@ minetest.register_node("celevator:hwdoor_slow_steel_middle",{
},
})
-minetest.register_node("celevator:hwdoor_slow_steel_top",{
+core.register_node("celevator:hwdoor_slow_steel_top",{
description = "Steel Hoistway Door (slow, top - you hacker you!)",
tiles = {
"celevator_door_glass_edge.png",
@@ -381,7 +381,7 @@ minetest.register_node("celevator:hwdoor_slow_steel_top",{
},
})
-minetest.register_node("celevator:hwdoor_placeholder",{
+core.register_node("celevator:hwdoor_placeholder",{
description = "Hoistway Door Open-State Placeholder (you hacker you!)",
groups = {
not_in_creative_inventory = 1,
@@ -407,7 +407,7 @@ minetest.register_node("celevator:hwdoor_placeholder",{
},
})
-minetest.register_entity("celevator:hwdoor_moving",{
+core.register_entity("celevator:hwdoor_moving",{
initial_properties = {
visual = "wielditem",
visual_size = vector.new(0.667,0.667,0.667),
@@ -419,11 +419,11 @@ minetest.register_entity("celevator:hwdoor_moving",{
function celevator.doors.hwopen(pos,drivepos)
celevator.doors.hwdoor_step_enabled = true
- local hwdoors_moving = minetest.deserialize(celevator.storage:get_string("hwdoors_moving")) or {}
- local hash = minetest.hash_node_position(pos)
+ local hwdoors_moving = core.deserialize(celevator.storage:get_string("hwdoors_moving")) or {}
+ local hash = core.hash_node_position(pos)
if not hwdoors_moving[hash] then
local param2 = celevator.get_node(pos).param2
- local fdir = minetest.fourdir_to_dir(param2)
+ local fdir = core.fourdir_to_dir(param2)
local otherpanel = vector.add(pos,vector.rotate_around_axis(fdir,vector.new(0,1,0),-math.pi/2))
local positions = {
pos,
@@ -453,54 +453,54 @@ function celevator.doors.hwopen(pos,drivepos)
doortype = doortype,
}
celevator.doors.erefs[hash] = erefs
- celevator.storage:set_string("hwdoors_moving",minetest.serialize(hwdoors_moving))
- minetest.set_node(pos,{name="celevator:hwdoor_placeholder",param2=param2})
+ celevator.storage:set_string("hwdoors_moving",core.serialize(hwdoors_moving))
+ core.set_node(pos,{name="celevator:hwdoor_placeholder",param2=param2})
local pmeta = celevator.get_meta(pos)
- pmeta:set_string("data",minetest.serialize(hwdoors_moving[hash]))
+ pmeta:set_string("data",core.serialize(hwdoors_moving[hash]))
pmeta:set_string("state","opening")
pmeta:set_string("doortype",doortype)
local carpos = vector.add(pos,fdir)
- local carndef = minetest.registered_nodes[celevator.get_node(carpos).name] or {}
+ local carndef = core.registered_nodes[celevator.get_node(carpos).name] or {}
if carndef._root then
celevator.doors.caropen(carpos)
end
elseif hwdoors_moving[hash].direction == "close" then
hwdoors_moving[hash].direction = "open"
hwdoors_moving[hash].time = math.pi-hwdoors_moving[hash].time
- celevator.storage:set_string("hwdoors_moving",minetest.serialize(hwdoors_moving))
- local fdir = minetest.fourdir_to_dir(hwdoors_moving[hash].param2)
+ celevator.storage:set_string("hwdoors_moving",core.serialize(hwdoors_moving))
+ local fdir = core.fourdir_to_dir(hwdoors_moving[hash].param2)
local carpos = vector.add(pos,fdir)
- local carndef = minetest.registered_nodes[celevator.get_node(carpos).name] or {}
+ local carndef = core.registered_nodes[celevator.get_node(carpos).name] or {}
if carndef._root then
celevator.doors.caropen(carpos)
end
- minetest.set_node(pos,{name="celevator:hwdoor_placeholder",param2=hwdoors_moving[hash].param2})
+ core.set_node(pos,{name="celevator:hwdoor_placeholder",param2=hwdoors_moving[hash].param2})
local pmeta = celevator.get_meta(pos)
- pmeta:set_string("data",minetest.serialize(hwdoors_moving[hash]))
+ pmeta:set_string("data",core.serialize(hwdoors_moving[hash]))
pmeta:set_string("state","opening")
end
end
function celevator.doors.hwclose(pos,drivepos,nudge)
celevator.doors.hwdoor_step_enabled = true
- local hwdoors_moving = minetest.deserialize(celevator.storage:get_string("hwdoors_moving")) or {}
- local hash = minetest.hash_node_position(pos)
+ local hwdoors_moving = core.deserialize(celevator.storage:get_string("hwdoors_moving")) or {}
+ local hash = core.hash_node_position(pos)
if hwdoors_moving[hash] then
return
end
local pmeta = celevator.get_meta(pos)
local state = pmeta:get_string("state")
if state ~= "open" then return end
- local fdir = minetest.fourdir_to_dir(celevator.get_node(pos).param2)
+ local fdir = core.fourdir_to_dir(celevator.get_node(pos).param2)
local carpos = vector.add(pos,fdir)
- local carndef = minetest.registered_nodes[celevator.get_node(carpos).name] or {}
+ local carndef = core.registered_nodes[celevator.get_node(carpos).name] or {}
if carndef._root then
celevator.doors.carclose(carpos,nudge)
end
- local data = minetest.deserialize(pmeta:get_string("data"))
+ local data = core.deserialize(pmeta:get_string("data"))
if not data then return end
for i=1,6,1 do
- minetest.set_node(data.positions[i],data.nodes[i])
+ core.set_node(data.positions[i],data.nodes[i])
end
data.direction = "close"
data.time = 0
@@ -517,12 +517,12 @@ function celevator.doors.hwclose(pos,drivepos,nudge)
end
celevator.doors.erefs[hash] = erefs
hwdoors_moving[hash] = data
- celevator.storage:set_string("hwdoors_moving",minetest.serialize(hwdoors_moving))
+ celevator.storage:set_string("hwdoors_moving",core.serialize(hwdoors_moving))
end
function celevator.doors.hwstep(dtime)
if not celevator.doors.hwdoor_step_enabled then return end
- local hwdoors_moving = minetest.deserialize(celevator.storage:get_string("hwdoors_moving")) or {}
+ local hwdoors_moving = core.deserialize(celevator.storage:get_string("hwdoors_moving")) or {}
local save = false
for hash,data in pairs(hwdoors_moving) do
save = true
@@ -585,7 +585,7 @@ function celevator.doors.hwstep(dtime)
hwdoors_moving[hash] = nil
elseif data.direction == "close" then
for i=1,6,1 do
- minetest.set_node(data.positions[i],data.nodes[i])
+ core.set_node(data.positions[i],data.nodes[i])
end
celevator.get_meta(data.positions[1]):set_string("state","closed")
if hwdoors_moving[hash].drivepos then celevator.get_meta(hwdoors_moving[hash].drivepos):set_string("doorstate","closed") end
@@ -594,16 +594,16 @@ function celevator.doors.hwstep(dtime)
end
end
if save then
- celevator.storage:set_string("hwdoors_moving",minetest.serialize(hwdoors_moving))
+ celevator.storage:set_string("hwdoors_moving",core.serialize(hwdoors_moving))
end
celevator.doors.hwdoor_step_enabled = save
end
-minetest.register_globalstep(celevator.doors.hwstep)
+core.register_globalstep(celevator.doors.hwstep)
function celevator.doors.carstep(dtime)
if not celevator.doors.cardoor_step_enabled then return end
- local cardoors_moving = minetest.deserialize(celevator.storage:get_string("cardoors_moving")) or {}
+ local cardoors_moving = core.deserialize(celevator.storage:get_string("cardoors_moving")) or {}
local save = false
for hash,data in pairs(cardoors_moving) do
save = true
@@ -651,9 +651,9 @@ function celevator.doors.carstep(dtime)
local carmeta = celevator.get_meta(data.positions[1])
carmeta:set_string("doorstate","closed")
cardoors_moving[hash] = nil
- local cartimer = minetest.get_node_timer(data.positions[1])
+ local cartimer = core.get_node_timer(data.positions[1])
cartimer:stop()
- local fdir = minetest.facedir_to_dir(minetest.get_node(data.positions[1]).param2)
+ local fdir = core.facedir_to_dir(core.get_node(data.positions[1]).param2)
local doortype = carmeta:get_string("doortype")
if (not doortype) or doortype == "" then doortype = "glass" end
celevator.doors.spawncardoors(data.positions[1],fdir,doortype)
@@ -669,7 +669,7 @@ function celevator.doors.carstep(dtime)
celevator.get_meta(data.positions[1]):set_string("doorstate","open")
cardoors_moving[hash] = nil
elseif data.direction == "close" then
- local fdir = minetest.fourdir_to_dir(celevator.get_node(data.positions[1]).param2)
+ local fdir = core.fourdir_to_dir(celevator.get_node(data.positions[1]).param2)
celevator.doors.spawncardoors(data.positions[1],vector.rotate_around_axis(fdir,vector.new(0,1,0),math.pi))
celevator.get_meta(data.positions[1]):set_string("doorstate","closed")
cardoors_moving[hash] = nil
@@ -677,21 +677,21 @@ function celevator.doors.carstep(dtime)
end
end
if save then
- celevator.storage:set_string("cardoors_moving",minetest.serialize(cardoors_moving))
+ celevator.storage:set_string("cardoors_moving",core.serialize(cardoors_moving))
end
celevator.doors.cardoor_step_enabled = save
end
-minetest.register_globalstep(celevator.doors.carstep)
+core.register_globalstep(celevator.doors.carstep)
-minetest.register_entity("celevator:car_door",{
+core.register_entity("celevator:car_door",{
initial_properties = {
visual = "wielditem",
visual_size = vector.new(0.667,0.667,0.667),
wield_item = "default:dirt",
static_save = false,
pointable = false,
- glow = minetest.LIGHT_MAX,
+ glow = core.LIGHT_MAX,
},
})
@@ -700,20 +700,20 @@ function celevator.doors.spawncardoors(pos,dir,doortype,replace)
local refs = {}
for x=2,1,-1 do
for y=1,3,1 do
- local yaw = minetest.dir_to_yaw(dir)+math.pi
+ local yaw = core.dir_to_yaw(dir)+math.pi
local doorpos = vector.add(pos,vector.rotate_around_axis(vector.new(x-2,y-1,0),vector.new(0,1,0),yaw))
local xnames = {"slow","fast"}
local ynames = {"bottom","middle","top"}
local nname = string.format("celevator:hwdoor_%s_%s_%s",xnames[x],doortype,ynames[y])
if replace then
- local oldrefs = minetest.get_objects_inside_radius(doorpos,0.1)
+ local oldrefs = core.get_objects_inside_radius(doorpos,0.1)
for _,i in pairs(oldrefs) do
if i:get_luaentity() and i:get_luaentity().name == "celevator:car_door" then
i:remove()
end
end
end
- local ref = minetest.add_entity(doorpos,"celevator:car_door")
+ local ref = core.add_entity(doorpos,"celevator:car_door")
ref:set_yaw(yaw)
ref:set_properties({
wield_item = nname,
@@ -726,12 +726,12 @@ end
function celevator.doors.caropen(pos)
celevator.doors.cardoor_step_enabled = true
- local cardoors_moving = minetest.deserialize(celevator.storage:get_string("cardoors_moving")) or {}
- local hash = minetest.hash_node_position(pos)
- local cartimer = minetest.get_node_timer(pos)
+ local cardoors_moving = core.deserialize(celevator.storage:get_string("cardoors_moving")) or {}
+ local hash = core.hash_node_position(pos)
+ local cartimer = core.get_node_timer(pos)
cartimer:start(0.25)
if not cardoors_moving[hash] then
- local fdir = minetest.fourdir_to_dir(celevator.get_node(pos).param2)
+ local fdir = core.fourdir_to_dir(celevator.get_node(pos).param2)
local otherpanel = vector.add(pos,vector.rotate_around_axis(fdir,vector.new(0,1,0),-math.pi/2))
local positions = {
pos,
@@ -743,7 +743,7 @@ function celevator.doors.caropen(pos)
}
local erefs = {}
for _,dpos in ipairs(positions) do
- local objs = minetest.get_objects_inside_radius(dpos,0.5)
+ local objs = core.get_objects_inside_radius(dpos,0.5)
for _,obj in pairs(objs) do
if obj:get_luaentity() and obj:get_luaentity().name == "celevator:car_door" then
table.insert(erefs,obj)
@@ -756,26 +756,26 @@ function celevator.doors.caropen(pos)
time = 0,
opendir = vector.rotate_around_axis(fdir,vector.new(0,1,0),-math.pi/2),
}
- minetest.sound_play("celevator_door_open",{
+ core.sound_play("celevator_door_open",{
pos = pos,
gain = 0.4,
max_hear_distance = 10
},true)
celevator.doors.erefs[hash] = erefs
- celevator.storage:set_string("cardoors_moving",minetest.serialize(cardoors_moving))
+ celevator.storage:set_string("cardoors_moving",core.serialize(cardoors_moving))
local meta = celevator.get_meta(pos)
- meta:set_string("doordata",minetest.serialize(cardoors_moving[hash]))
+ meta:set_string("doordata",core.serialize(cardoors_moving[hash]))
meta:set_string("doorstate","opening")
elseif cardoors_moving[hash].direction == "close" then
if cardoors_moving[hash].soundhandle then
- minetest.sound_stop(cardoors_moving[hash].soundhandle)
+ core.sound_stop(cardoors_moving[hash].soundhandle)
end
- minetest.sound_play("celevator_door_reverse",{
+ core.sound_play("celevator_door_reverse",{
pos = pos,
gain = 1,
max_hear_distance = 10
},true)
- minetest.sound_play("celevator_door_open",{
+ core.sound_play("celevator_door_open",{
pos = pos,
gain = 0.4,
start_time = math.max(0,2.75-cardoors_moving[hash].time),
@@ -783,23 +783,23 @@ function celevator.doors.caropen(pos)
},true)
cardoors_moving[hash].direction = "open"
cardoors_moving[hash].time = math.pi-cardoors_moving[hash].time
- celevator.storage:set_string("cardoors_moving",minetest.serialize(cardoors_moving))
+ celevator.storage:set_string("cardoors_moving",core.serialize(cardoors_moving))
end
end
function celevator.doors.carclose(pos,nudge)
celevator.doors.cardoor_step_enabled = true
- local cardoors_moving = minetest.deserialize(celevator.storage:get_string("cardoors_moving")) or {}
- local hash = minetest.hash_node_position(pos)
+ local cardoors_moving = core.deserialize(celevator.storage:get_string("cardoors_moving")) or {}
+ local hash = core.hash_node_position(pos)
if cardoors_moving[hash] then
return
end
local meta = celevator.get_meta(pos)
local state = meta:get_string("doorstate")
if state ~= "open" then return end
- local data = minetest.deserialize(meta:get_string("doordata"))
+ local data = core.deserialize(meta:get_string("doordata"))
if not data then return end
- local dir = minetest.fourdir_to_dir(celevator.get_node(pos).param2)
+ local dir = core.fourdir_to_dir(celevator.get_node(pos).param2)
data.direction = "close"
data.time = 0
local doortype = meta:get_string("doortype")
@@ -815,13 +815,13 @@ function celevator.doors.carclose(pos,nudge)
end
celevator.doors.erefs[hash] = erefs
if nudge then
- data.soundhandle = minetest.sound_play("celevator_nudge",{
+ data.soundhandle = core.sound_play("celevator_nudge",{
pos = pos,
gain = 0.75,
max_hear_distance = 10
})
else
- data.soundhandle = minetest.sound_play("celevator_door_close",{
+ data.soundhandle = core.sound_play("celevator_door_close",{
pos = pos,
gain = 0.3,
max_hear_distance = 10
@@ -829,31 +829,31 @@ function celevator.doors.carclose(pos,nudge)
end
data.nudging = nudge
cardoors_moving[hash] = data
- celevator.storage:set_string("cardoors_moving",minetest.serialize(cardoors_moving))
+ celevator.storage:set_string("cardoors_moving",core.serialize(cardoors_moving))
end
-minetest.register_abm({
+core.register_abm({
label = "Respawn car doors",
nodenames = {"group:_celevator_car_root"},
interval = 1,
chance = 1,
action = function(pos)
- if minetest.get_meta(pos):get_string("doorstate") ~= "closed" then return end
- local entitiesnearby = minetest.get_objects_inside_radius(pos,0.5)
+ if core.get_meta(pos):get_string("doorstate") ~= "closed" then return end
+ local entitiesnearby = core.get_objects_inside_radius(pos,0.5)
for _,i in pairs(entitiesnearby) do
if i:get_luaentity() and i:get_luaentity().name == "celevator:car_door" then
return
end
end
- local fdir = minetest.facedir_to_dir(minetest.get_node(pos).param2)
- local carmeta = minetest.get_meta(pos)
+ local fdir = core.facedir_to_dir(core.get_node(pos).param2)
+ local carmeta = core.get_meta(pos)
local doortype = carmeta:get_string("doortype")
if (not doortype) or doortype == "" then doortype = "glass" end
celevator.doors.spawncardoors(pos,fdir,doortype)
end,
})
-minetest.register_node("celevator:hwdoor_glass",{
+core.register_node("celevator:hwdoor_glass",{
description = "Glass Elevator Hoistway Door",
paramtype2 = "4dir",
buildable_to = true,
@@ -863,12 +863,12 @@ minetest.register_node("celevator:hwdoor_glass",{
tiles = {"celevator_transparent.png"},
after_place_node = function(pos,player)
if not player:is_player() then
- minetest.remove_node(pos)
+ core.remove_node(pos)
return true
end
local name = player:get_player_name()
- local newnode = minetest.get_node(pos)
- local facedir = minetest.dir_to_yaw(minetest.fourdir_to_dir(newnode.param2))
+ local newnode = core.get_node(pos)
+ local facedir = core.dir_to_yaw(core.fourdir_to_dir(newnode.param2))
local xnames = {
[0] = "fast",
[1] = "slow",
@@ -883,16 +883,16 @@ minetest.register_node("celevator:hwdoor_glass",{
local offsetdesc = string.format("%dm to the right and %dm up",x,y)
local placeoffset = vector.new(x,y,0)
local placepos = vector.add(pos,vector.rotate_around_axis(placeoffset,vector.new(0,1,0),facedir))
- local replaces = minetest.get_node(placepos).name
- if not (minetest.registered_nodes[replaces] and minetest.registered_nodes[replaces].buildable_to) then
- minetest.chat_send_player(name,string.format("Can't place door here - position %s is blocked!",offsetdesc))
- minetest.remove_node(pos)
+ local replaces = core.get_node(placepos).name
+ if not (core.registered_nodes[replaces] and core.registered_nodes[replaces].buildable_to) then
+ core.chat_send_player(name,string.format("Can't place door here - position %s is blocked!",offsetdesc))
+ core.remove_node(pos)
return true
end
- if minetest.is_protected(placepos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
- minetest.chat_send_player(name,string.format("Can't place door here - position %s is protected!",offsetdesc))
- minetest.record_protection_violation(placepos,name)
- minetest.remove_node(pos)
+ if core.is_protected(placepos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
+ core.chat_send_player(name,string.format("Can't place door here - position %s is protected!",offsetdesc))
+ core.record_protection_violation(placepos,name)
+ core.remove_node(pos)
return true
end
end
@@ -902,22 +902,22 @@ minetest.register_node("celevator:hwdoor_glass",{
local piecename = string.format("celevator:hwdoor_%s_glass_%s",xnames[x],ynames[y])
local placeoffset = vector.new(x,y,0)
local placepos = vector.add(pos,vector.rotate_around_axis(placeoffset,vector.new(0,1,0),facedir))
- minetest.set_node(placepos,{name=piecename,param2=newnode.param2})
+ core.set_node(placepos,{name=piecename,param2=newnode.param2})
if y==0 then
placesill(placepos,{name=piecename,param2=newnode.param2})
end
end
end
local carpos = vector.add(pos,vector.rotate_around_axis(vector.new(0,0,1),vector.new(0,1,0),facedir))
- local carndef = minetest.registered_nodes[celevator.get_node(carpos).name] or {}
+ local carndef = core.registered_nodes[celevator.get_node(carpos).name] or {}
if carndef._root then
celevator.get_meta(carpos):set_string("doortype","glass")
- celevator.doors.spawncardoors(carpos,minetest.fourdir_to_dir(newnode.param2),"glass",true)
+ celevator.doors.spawncardoors(carpos,core.fourdir_to_dir(newnode.param2),"glass",true)
end
end,
})
-minetest.register_node("celevator:hwdoor_steel",{
+core.register_node("celevator:hwdoor_steel",{
description = "Steel Elevator Hoistway Door",
paramtype2 = "4dir",
buildable_to = true,
@@ -927,12 +927,12 @@ minetest.register_node("celevator:hwdoor_steel",{
tiles = {"celevator_transparent.png"},
after_place_node = function(pos,player)
if not player:is_player() then
- minetest.remove_node(pos)
+ core.remove_node(pos)
return true
end
local name = player:get_player_name()
- local newnode = minetest.get_node(pos)
- local facedir = minetest.dir_to_yaw(minetest.fourdir_to_dir(newnode.param2))
+ local newnode = core.get_node(pos)
+ local facedir = core.dir_to_yaw(core.fourdir_to_dir(newnode.param2))
local xnames = {
[0] = "fast",
[1] = "slow",
@@ -947,16 +947,16 @@ minetest.register_node("celevator:hwdoor_steel",{
local offsetdesc = string.format("%dm to the right and %dm up",x,y)
local placeoffset = vector.new(x,y,0)
local placepos = vector.add(pos,vector.rotate_around_axis(placeoffset,vector.new(0,1,0),facedir))
- local replaces = minetest.get_node(placepos).name
- if not (minetest.registered_nodes[replaces] and minetest.registered_nodes[replaces].buildable_to) then
- minetest.chat_send_player(name,string.format("Can't place door here - position %s is blocked!",offsetdesc))
- minetest.remove_node(pos)
+ local replaces = core.get_node(placepos).name
+ if not (core.registered_nodes[replaces] and core.registered_nodes[replaces].buildable_to) then
+ core.chat_send_player(name,string.format("Can't place door here - position %s is blocked!",offsetdesc))
+ core.remove_node(pos)
return true
end
- if minetest.is_protected(placepos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
- minetest.chat_send_player(name,string.format("Can't place door here - position %s is protected!",offsetdesc))
- minetest.record_protection_violation(placepos,name)
- minetest.remove_node(pos)
+ if core.is_protected(placepos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
+ core.chat_send_player(name,string.format("Can't place door here - position %s is protected!",offsetdesc))
+ core.record_protection_violation(placepos,name)
+ core.remove_node(pos)
return true
end
end
@@ -966,22 +966,22 @@ minetest.register_node("celevator:hwdoor_steel",{
local piecename = string.format("celevator:hwdoor_%s_steel_%s",xnames[x],ynames[y])
local placeoffset = vector.new(x,y,0)
local placepos = vector.add(pos,vector.rotate_around_axis(placeoffset,vector.new(0,1,0),facedir))
- minetest.set_node(placepos,{name=piecename,param2=newnode.param2})
+ core.set_node(placepos,{name=piecename,param2=newnode.param2})
if y==0 then
placesill(placepos,{name=piecename,param2=newnode.param2})
end
end
end
local carpos = vector.add(pos,vector.rotate_around_axis(vector.new(0,0,1),vector.new(0,1,0),facedir))
- local carndef = minetest.registered_nodes[celevator.get_node(carpos).name] or {}
+ local carndef = core.registered_nodes[celevator.get_node(carpos).name] or {}
if carndef._root then
celevator.get_meta(carpos):set_string("doortype","steel")
- celevator.doors.spawncardoors(carpos,minetest.fourdir_to_dir(newnode.param2),"steel",true)
+ celevator.doors.spawncardoors(carpos,core.fourdir_to_dir(newnode.param2),"steel",true)
end
end,
})
-minetest.register_node("celevator:door_sill_single",{
+core.register_node("celevator:door_sill_single",{
description = "Hoistway Door Sill, Single Track (you hacker you!)",
drop = "",
groups = {
@@ -1001,7 +1001,7 @@ minetest.register_node("celevator:door_sill_single",{
},
})
-minetest.register_node("celevator:door_sill_double",{
+core.register_node("celevator:door_sill_double",{
description = "Hoistway Door Sill, Double Track (you hacker you!)",
drop = "",
groups = {
@@ -1021,18 +1021,18 @@ minetest.register_node("celevator:door_sill_double",{
},
})
-minetest.register_entity("celevator:door_sill",{
+core.register_entity("celevator:door_sill",{
initial_properties = {
visual = "wielditem",
visual_size = vector.new(0.667,0.667,0.667),
wield_item = "celevator:door_sill_single",
static_save = false,
pointable = false,
- glow = minetest.LIGHT_MAX,
+ glow = core.LIGHT_MAX,
},
})
-minetest.register_lbm({
+core.register_lbm({
label = "Respawn hoistway door sills",
name = "celevator:spawn_sill",
nodenames = {
diff --git a/drive_entity.lua b/drive_entity.lua
index 532b919..e1c10cd 100644
--- a/drive_entity.lua
+++ b/drive_entity.lua
@@ -15,7 +15,7 @@ celevator.drives.entity = {
local playerposlimits = {}
local function update_ui(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local apos = tonumber(meta:get_string("apos")) or 0
local status = "Idle"
local vel = tonumber(meta:get_string("vel")) or 0
@@ -33,9 +33,9 @@ local function update_ui(pos)
end
local function playbuzz(pos)
- local hash = minetest.hash_node_position(pos)
+ local hash = core.hash_node_position(pos)
if celevator.drives.entity.buzzsoundhandles[hash] == "cancel" then return end
- celevator.drives.entity.buzzsoundhandles[hash] = minetest.sound_play("celevator_drive_run",{
+ celevator.drives.entity.buzzsoundhandles[hash] = core.sound_play("celevator_drive_run",{
pos = pos,
loop = true,
gain = 0.1,
@@ -43,78 +43,78 @@ local function playbuzz(pos)
end
local function startbuzz(pos)
- local hash = minetest.hash_node_position(pos)
+ local hash = core.hash_node_position(pos)
if celevator.drives.entity.buzzsoundhandles[hash] == "cancel" then
celevator.drives.entity.buzzsoundhandles[hash] = nil
return
end
if celevator.drives.entity.buzzsoundhandles[hash] then return end
celevator.drives.entity.buzzsoundhandles[hash] = "pending"
- minetest.after(0.5,playbuzz,pos)
+ core.after(0.5,playbuzz,pos)
end
local function stopbuzz(pos)
- local hash = minetest.hash_node_position(pos)
+ local hash = core.hash_node_position(pos)
if not celevator.drives.entity.buzzsoundhandles[hash] then return end
if celevator.drives.entity.buzzsoundhandles[hash] == "pending" then
celevator.drives.entity.buzzsoundhandles[hash] = "cancel"
end
if type(celevator.drives.entity.buzzsoundhandles[hash]) ~= "string" then
- minetest.sound_stop(celevator.drives.entity.buzzsoundhandles[hash])
+ core.sound_stop(celevator.drives.entity.buzzsoundhandles[hash])
celevator.drives.entity.buzzsoundhandles[hash] = nil
end
end
local function motorsound(pos,newstate)
- local hash = minetest.hash_node_position(pos)
+ local hash = core.hash_node_position(pos)
local oldstate = celevator.drives.entity.movementsoundstate[hash]
oldstate = oldstate or "idle"
if oldstate == newstate then return end
- local carid = minetest.get_meta(pos):get_int("carid")
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carid = core.get_meta(pos):get_int("carid")
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not (carinfo and carinfo.machinepos) then return end
local oldhandle = celevator.drives.entity.movementsoundhandles[hash]
if newstate == "slow" then
if oldstate == "idle" then
- minetest.sound_play("celevator_brake_release",{
+ core.sound_play("celevator_brake_release",{
pos = carinfo.machinepos,
gain = 1,
},true)
- celevator.drives.entity.movementsoundhandles[hash] = minetest.sound_play("celevator_motor_slow",{
+ celevator.drives.entity.movementsoundhandles[hash] = core.sound_play("celevator_motor_slow",{
pos = carinfo.machinepos,
loop = true,
gain = 1,
})
elseif oldstate == "accel" or oldstate == "fast" or oldstate == "decel" then
- if oldhandle then minetest.sound_stop(oldhandle) end
- celevator.drives.entity.movementsoundhandles[hash] = minetest.sound_play("celevator_motor_slow",{
+ if oldhandle then core.sound_stop(oldhandle) end
+ celevator.drives.entity.movementsoundhandles[hash] = core.sound_play("celevator_motor_slow",{
pos = carinfo.machinepos,
loop = true,
gain = 1,
})
end
elseif newstate == "accel" then
- if oldhandle then minetest.sound_stop(oldhandle) end
- celevator.drives.entity.movementsoundhandles[hash] = minetest.sound_play("celevator_motor_accel",{
+ if oldhandle then core.sound_stop(oldhandle) end
+ celevator.drives.entity.movementsoundhandles[hash] = core.sound_play("celevator_motor_accel",{
pos = carinfo.machinepos,
gain = 1,
})
elseif newstate == "fast" then
- if oldhandle then minetest.sound_stop(oldhandle) end
- celevator.drives.entity.movementsoundhandles[hash] = minetest.sound_play("celevator_motor_fast",{
+ if oldhandle then core.sound_stop(oldhandle) end
+ celevator.drives.entity.movementsoundhandles[hash] = core.sound_play("celevator_motor_fast",{
pos = carinfo.machinepos,
loop = true,
gain = 1,
})
elseif newstate == "decel" then
- if oldhandle then minetest.sound_stop(oldhandle) end
- celevator.drives.entity.movementsoundhandles[hash] = minetest.sound_play("celevator_motor_decel",{
+ if oldhandle then core.sound_stop(oldhandle) end
+ celevator.drives.entity.movementsoundhandles[hash] = core.sound_play("celevator_motor_decel",{
pos = carinfo.machinepos,
gain = 1,
})
elseif newstate == "idle" then
- if oldhandle then minetest.sound_stop(oldhandle) end
- minetest.sound_play("celevator_brake_apply",{
+ if oldhandle then core.sound_stop(oldhandle) end
+ core.sound_play("celevator_brake_apply",{
pos = carinfo.machinepos,
gain = 1,
},true)
@@ -124,7 +124,7 @@ end
local function carsound(pos,newstate,speed)
if speed < 0.5 then return end
- local hash = minetest.hash_node_position(pos)
+ local hash = core.hash_node_position(pos)
local oldstate = celevator.drives.entity.carsoundstate[hash]
oldstate = oldstate or "idle"
if oldstate == newstate then return end
@@ -134,37 +134,37 @@ local function carsound(pos,newstate,speed)
local oldhandle = celevator.drives.entity.carsoundhandles[hash]
local gain = math.min(1,speed/6)
if newstate == "accel" then
- if oldhandle then minetest.sound_stop(oldhandle) end
- celevator.drives.entity.carsoundhandles[hash] = minetest.sound_play("celevator_car_start",{
+ if oldhandle then core.sound_stop(oldhandle) end
+ celevator.drives.entity.carsoundhandles[hash] = core.sound_play("celevator_car_start",{
object = eref,
gain = gain,
})
- minetest.after(3,function()
+ core.after(3,function()
if celevator.drives.entity.carsoundstate[hash] == "accel" then
carsound(pos,"run",speed)
end
end)
elseif newstate == "run" then
- if oldhandle then minetest.sound_stop(oldhandle) end
- celevator.drives.entity.carsoundhandles[hash] = minetest.sound_play("celevator_car_run",{
+ if oldhandle then core.sound_stop(oldhandle) end
+ celevator.drives.entity.carsoundhandles[hash] = core.sound_play("celevator_car_run",{
object = eref,
loop = true,
gain = gain,
})
elseif newstate == "decel" then
- if oldhandle then minetest.sound_stop(oldhandle) end
- celevator.drives.entity.carsoundhandles[hash] = minetest.sound_play("celevator_car_stop",{
+ if oldhandle then core.sound_stop(oldhandle) end
+ celevator.drives.entity.carsoundhandles[hash] = core.sound_play("celevator_car_stop",{
object = eref,
gain = gain,
})
elseif newstate == "stopped" then
- if oldhandle then minetest.sound_stop(oldhandle) end
+ if oldhandle then core.sound_stop(oldhandle) end
end
celevator.drives.entity.carsoundstate[hash] = newstate
end
local function compareexchangesound(pos,compare,new)
- local hash = minetest.hash_node_position(pos)
+ local hash = core.hash_node_position(pos)
local oldstate = celevator.drives.entity.movementsoundstate[hash]
if oldstate == compare then
motorsound(pos,new)
@@ -173,16 +173,16 @@ end
local function accelsound(pos)
motorsound(pos,"slow")
- minetest.after(1,compareexchangesound,pos,"slow","accel")
- minetest.after(4,compareexchangesound,pos,"accel","fast")
+ core.after(1,compareexchangesound,pos,"slow","accel")
+ core.after(4,compareexchangesound,pos,"accel","fast")
end
local function decelsound(pos)
motorsound(pos,"decel")
- minetest.after(2,compareexchangesound,pos,"decel","slow")
+ core.after(2,compareexchangesound,pos,"decel","slow")
end
-minetest.register_node("celevator:drive",{
+core.register_node("celevator:drive",{
description = "Elevator "..celevator.drives.entity.name,
groups = {
cracky = 1,
@@ -209,7 +209,7 @@ minetest.register_node("celevator:drive",{
},
_celevator_drive_type = "entity",
after_place_node = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_string("apos","0")
meta:set_string("dpos","0")
meta:set_string("vel","0")
@@ -223,18 +223,18 @@ minetest.register_node("celevator:drive",{
on_destruct = stopbuzz,
})
-minetest.register_entity("celevator:car_moving",{
+core.register_entity("celevator:car_moving",{
initial_properties = {
visual = "wielditem",
visual_size = vector.new(0.667,0.667,0.667),
wield_item = "default:dirt",
static_save = false,
- glow = minetest.LIGHT_MAX,
+ glow = core.LIGHT_MAX,
pointable = false,
},
})
-minetest.register_entity("celevator:player_holder",{
+core.register_entity("celevator:player_holder",{
initial_properties = {
visual = "cube",
textures = {
@@ -310,25 +310,25 @@ minetest.register_entity("celevator:player_holder",{
function celevator.drives.entity.gathercar(pos,yaw,nodes)
if not nodes then nodes = {} end
- local hash = minetest.hash_node_position(pos)
+ local hash = core.hash_node_position(pos)
if nodes[hash] then return nodes end
nodes[hash] = true
- if minetest.get_item_group(celevator.get_node(pos).name,"_connects_xp") == 1 then
+ if core.get_item_group(celevator.get_node(pos).name,"_connects_xp") == 1 then
celevator.drives.entity.gathercar(vector.add(pos,vector.rotate_around_axis(vector.new(1,0,0),vector.new(0,1,0),yaw)),yaw,nodes)
end
- if minetest.get_item_group(celevator.get_node(pos).name,"_connects_xm") == 1 then
+ if core.get_item_group(celevator.get_node(pos).name,"_connects_xm") == 1 then
celevator.drives.entity.gathercar(vector.add(pos,vector.rotate_around_axis(vector.new(-1,0,0),vector.new(0,1,0),yaw)),yaw,nodes)
end
- if minetest.get_item_group(celevator.get_node(pos).name,"_connects_yp") == 1 then
+ if core.get_item_group(celevator.get_node(pos).name,"_connects_yp") == 1 then
celevator.drives.entity.gathercar(vector.add(pos,vector.new(0,1,0)),yaw,nodes)
end
- if minetest.get_item_group(celevator.get_node(pos).name,"_connects_ym") == 1 then
+ if core.get_item_group(celevator.get_node(pos).name,"_connects_ym") == 1 then
celevator.drives.entity.gathercar(vector.add(pos,vector.new(0,-1,0)),yaw,nodes)
end
- if minetest.get_item_group(celevator.get_node(pos).name,"_connects_zp") == 1 then
+ if core.get_item_group(celevator.get_node(pos).name,"_connects_zp") == 1 then
celevator.drives.entity.gathercar(vector.add(pos,vector.rotate_around_axis(vector.new(0,0,1),vector.new(0,1,0),yaw)),yaw,nodes)
end
- if minetest.get_item_group(celevator.get_node(pos).name,"_connects_zm") == 1 then
+ if core.get_item_group(celevator.get_node(pos).name,"_connects_zm") == 1 then
celevator.drives.entity.gathercar(vector.add(pos,vector.rotate_around_axis(vector.new(0,0,-1),vector.new(0,1,0),yaw)),yaw,nodes)
end
return nodes
@@ -348,17 +348,17 @@ function celevator.drives.entity.nodestoentities(nodes,ename)
end
for _,pos in ipairs(nodes) do
local node = celevator.get_node(pos)
- local attach = minetest.get_objects_inside_radius(pos,0.9)
- local eref = minetest.add_entity(pos,(ename or "celevator:car_moving"))
+ local attach = core.get_objects_inside_radius(pos,0.9)
+ local eref = core.add_entity(pos,(ename or "celevator:car_moving"))
eref:set_properties({
wield_item = node.name,
})
- eref:set_yaw(minetest.dir_to_yaw(minetest.fourdir_to_dir(node.param2)))
+ eref:set_yaw(core.dir_to_yaw(core.fourdir_to_dir(node.param2)))
table.insert(refs,eref)
- local ndef = minetest.registered_nodes[node.name] or {}
+ local ndef = core.registered_nodes[node.name] or {}
if ndef._cartopbox or ndef._tapehead then
local toppos = vector.add(pos,vector.new(0,1,0))
- local topattach = minetest.get_objects_inside_radius(toppos,0.75)
+ local topattach = core.get_objects_inside_radius(toppos,0.75)
for _,ref in pairs(topattach) do
table.insert(attach,ref)
end
@@ -378,7 +378,7 @@ function celevator.drives.entity.nodestoentities(nodes,ename)
local basepos = eref:get_pos()
local attachoffset = vector.subtract(attachpos,basepos)
attachoffset = vector.rotate_around_axis(attachoffset,vector.new(0,-1,0),eref:get_yaw())
- local holder = minetest.add_entity(attachpos,"celevator:player_holder")
+ local holder = core.add_entity(attachpos,"celevator:player_holder")
holder:set_attach(eref,"",vector.multiply(attachoffset,30),vector.new(0,0,0))
attachref:set_attach(holder,"")
local extra = 0.25 --To allow getting closer to walls
@@ -397,7 +397,7 @@ function celevator.drives.entity.nodestoentities(nodes,ename)
end
end
end
- minetest.remove_node(pos)
+ core.remove_node(pos)
end
return refs
end
@@ -412,10 +412,10 @@ function celevator.drives.entity.entitiestonodes(refs,carid)
pos = vector.round(pos)
local node = {
name = eref:get_properties().wield_item,
- param2 = minetest.dir_to_fourdir(minetest.yaw_to_dir(eref:get_yaw()))
+ param2 = core.dir_to_fourdir(core.yaw_to_dir(eref:get_yaw()))
}
- if minetest.get_item_group(eref:get_properties().wield_item,"_connects_yp") ~= 1 then top = true end
- minetest.set_node(pos,node)
+ if core.get_item_group(eref:get_properties().wield_item,"_connects_yp") ~= 1 then top = true end
+ core.set_node(pos,node)
eref:remove()
if carid then celevator.get_meta(pos):set_int("carid",carid) end
elseif pos and ename == "celevator:incar_pi_entity" then
@@ -432,14 +432,14 @@ function celevator.drives.entity.entitiestonodes(refs,carid)
["celevator:car_door"] = true,
["celevator:tapehead"] = true,
}
- for _,i in ipairs(minetest.get_objects_inside_radius(pos,0.9)) do
+ for _,i in ipairs(core.get_objects_inside_radius(pos,0.9)) do
i:set_velocity(vector.new(0,0,0))
if i:is_player() then
local ppos = i:get_pos()
ppos.y=ppos.y-0.48
if top then ppos.y = ppos.y+1.02 end
i:set_pos(ppos)
- minetest.after(0.5,function()
+ core.after(0.5,function()
if not i:is_player() then return end
local newpos = i:get_pos()
newpos.y = math.max(newpos.y,ppos.y)
@@ -461,15 +461,15 @@ end
function celevator.drives.entity.step(dtime)
if not celevator.drives.entity.step_enabled then return end
- local entitydrives_running = minetest.deserialize(celevator.storage:get_string("entitydrives_running")) or {}
+ local entitydrives_running = core.deserialize(celevator.storage:get_string("entitydrives_running")) or {}
local save = false
for i,hash in ipairs(entitydrives_running) do
save = true
- local pos = minetest.get_position_from_hash(hash)
+ local pos = core.get_position_from_hash(hash)
local node = celevator.get_node(pos)
local sound = false
if node.name == "ignore" then
- minetest.forceload_block(pos,true)
+ core.forceload_block(pos,true)
elseif node.name ~= "celevator:drive" then
table.remove(entitydrives_running,i)
else
@@ -484,9 +484,9 @@ function celevator.drives.entity.step(dtime)
local startpos = tonumber(meta:get_string("startpos")) or 0
local oldvel = tonumber(meta:get_string("vel")) or 0
local inspection = meta:get_int("inspection") == 1
- local origin = minetest.string_to_pos(meta:get_string("origin"))
+ local origin = core.string_to_pos(meta:get_string("origin"))
if not origin then
- minetest.log("error","[celevator] [entity drive] Invalid origin for drive at "..minetest.pos_to_string(pos))
+ core.log("error","[celevator] [entity drive] Invalid origin for drive at "..core.pos_to_string(pos))
meta:set_string("fault","badorigin")
table.remove(entitydrives_running,i)
return
@@ -501,10 +501,10 @@ function celevator.drives.entity.step(dtime)
end
end
local startv = vector.add(origin,vector.new(0,startpos,0))
- local hashes = celevator.drives.entity.gathercar(startv,minetest.dir_to_yaw(minetest.fourdir_to_dir(celevator.get_node(startv).param2)))
+ local hashes = celevator.drives.entity.gathercar(startv,core.dir_to_yaw(core.fourdir_to_dir(celevator.get_node(startv).param2)))
local nodes = {}
for carhash in pairs(hashes) do
- local carpos = minetest.get_position_from_hash(carhash)
+ local carpos = core.get_position_from_hash(carhash)
if vector.equals(startv,carpos) then
table.insert(nodes,1,carpos) --0,0,0 node must be first in the list
else
@@ -512,7 +512,7 @@ function celevator.drives.entity.step(dtime)
end
end
local carparam2 = celevator.get_node(nodes[1]).param2
- local cardef = minetest.registered_nodes[celevator.get_node(nodes[1]).name] or {}
+ local cardef = core.registered_nodes[celevator.get_node(nodes[1]).name] or {}
local cartype = cardef._celevator_car_type or "standard"
local carmeta = celevator.get_meta(startv)
meta:set_int("carparam2",carparam2)
@@ -560,12 +560,12 @@ function celevator.drives.entity.step(dtime)
if not ok then
local carparam2 = meta:get_int("carparam2")
local cartype = meta:get_string("cartype")
- celevator.car.spawncar(spawnpos,minetest.dir_to_yaw(minetest.fourdir_to_dir(carparam2)),carid,cartype,doortype)
+ celevator.car.spawncar(spawnpos,core.dir_to_yaw(core.fourdir_to_dir(carparam2)),carid,cartype,doortype)
else
celevator.get_meta(spawnpos):set_string("doortype",doortype)
end
apos = math.floor(apos+0.5)
- minetest.after(0.25,celevator.drives.entity.updatecopformspec,pos)
+ core.after(0.25,celevator.drives.entity.updatecopformspec,pos)
table.remove(entitydrives_running,i)
elseif dremain < 0.1 and not inspection then
vel = 0.1
@@ -612,9 +612,9 @@ function celevator.drives.entity.step(dtime)
local doortype = meta:get_string("doortype")
if (not doortype) or doortype == "" then doortype = "glass" end
local spawnpos = vector.round(vector.add(origin,vector.new(0,apos,0)))
- celevator.car.spawncar(spawnpos,minetest.dir_to_yaw(minetest.fourdir_to_dir(carparam2)),carid,cartype,doortype)
+ celevator.car.spawncar(spawnpos,core.dir_to_yaw(core.fourdir_to_dir(carparam2)),carid,cartype,doortype)
apos = math.floor(apos+0.5)
- minetest.after(0.25,celevator.drives.entity.updatecopformspec,pos)
+ core.after(0.25,celevator.drives.entity.updatecopformspec,pos)
table.remove(entitydrives_running,i)
elseif dremain < 0.1 and not inspection then
vel = 0.1
@@ -644,18 +644,18 @@ function celevator.drives.entity.step(dtime)
end
end
if save then
- celevator.storage:set_string("entitydrives_running",minetest.serialize(entitydrives_running))
+ celevator.storage:set_string("entitydrives_running",core.serialize(entitydrives_running))
end
celevator.drives.entity.step_enabled = save
end
-minetest.register_globalstep(celevator.drives.entity.step)
+core.register_globalstep(celevator.drives.entity.step)
function celevator.drives.entity.moveto(pos,target,inspection)
local meta = celevator.get_meta(pos)
meta:mark_as_private({"apos","dpos","vel","maxvel","state","startpos","doorstate"})
local carid = celevator.get_meta(pos):get_int("carid")
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not (carinfo and carinfo.machinepos and celevator.get_node(carinfo.machinepos).name == "celevator:machine") then
meta:set_string("fault","nomachine")
return
@@ -671,9 +671,9 @@ function celevator.drives.entity.moveto(pos,target,inspection)
meta:set_string("fault","machinemismatch")
return
end
- local origin = minetest.string_to_pos(meta:get_string("origin"))
+ local origin = core.string_to_pos(meta:get_string("origin"))
if not origin then
- minetest.log("error","[celevator] [entity drive] Invalid origin for drive at "..minetest.pos_to_string(pos))
+ core.log("error","[celevator] [entity drive] Invalid origin for drive at "..core.pos_to_string(pos))
meta:set_string("fault","badorigin")
return
end
@@ -697,8 +697,8 @@ function celevator.drives.entity.moveto(pos,target,inspection)
meta:set_string("state","start")
meta:set_int("inspection",inspection and 1 or 0)
meta:set_string("startpos",meta:get_string("apos"))
- local hash = minetest.hash_node_position(pos)
- local entitydrives_running = minetest.deserialize(celevator.storage:get_string("entitydrives_running")) or {}
+ local hash = core.hash_node_position(pos)
+ local entitydrives_running = core.deserialize(celevator.storage:get_string("entitydrives_running")) or {}
local running = false
for _,dhash in ipairs(entitydrives_running) do
if hash == dhash then
@@ -709,7 +709,7 @@ function celevator.drives.entity.moveto(pos,target,inspection)
if not running then
celevator.drives.entity.step_enabled = true
table.insert(entitydrives_running,hash)
- celevator.storage:set_string("entitydrives_running",minetest.serialize(entitydrives_running))
+ celevator.storage:set_string("entitydrives_running",core.serialize(entitydrives_running))
--Controller needs to see something so it knows the drive is running
local apos = tonumber(meta:get_string("apos"))
if apos and apos > target then
@@ -732,7 +732,7 @@ function celevator.drives.entity.estop(pos)
local apos = math.floor(tonumber(meta:get_string("apos"))+0.5)
meta:set_string("dpos",tostring(apos))
meta:set_string("apos",tostring(apos))
- local hash = minetest.hash_node_position(pos)
+ local hash = core.hash_node_position(pos)
local handles = celevator.drives.entity.entityinfo[hash].handles
meta:set_string("state","stopped")
meta:set_string("vel","0")
@@ -741,7 +741,7 @@ function celevator.drives.entity.estop(pos)
stopbuzz(pos)
motorsound(pos,"idle")
if carid ~= 0 then celevator.drives.entity.sheavetonode(carid) end
- minetest.after(0.25,celevator.drives.entity.updatecopformspec,pos)
+ core.after(0.25,celevator.drives.entity.updatecopformspec,pos)
end
@@ -756,12 +756,12 @@ function celevator.drives.entity.rezero(pos)
end
function celevator.drives.entity.getstatus(pos,call2)
- local node = minetest.get_node(pos)
+ local node = core.get_node(pos)
if node.name == "ignore" and not call2 then
- minetest.forceload_block(pos,true)
+ core.forceload_block(pos,true)
return celevator.drives.entity.get_status(pos,true)
elseif node.name ~= "celevator:drive" then
- minetest.log("error","[celevator] [entity drive] Could not load drive status at "..minetest.pos_to_string(pos))
+ core.log("error","[celevator] [entity drive] Could not load drive status at "..core.pos_to_string(pos))
return {fault = "metaload"}
else
local meta = celevator.get_meta(pos)
@@ -780,27 +780,27 @@ function celevator.drives.entity.getstatus(pos,call2)
end
function celevator.drives.entity.movedoors(drivepos,direction,nudge)
- local drivehash = minetest.hash_node_position(drivepos)
- local entitydrives_running = minetest.deserialize(celevator.storage:get_string("entitydrives_running")) or {}
+ local drivehash = core.hash_node_position(drivepos)
+ local entitydrives_running = core.deserialize(celevator.storage:get_string("entitydrives_running")) or {}
local drivemeta = celevator.get_meta(drivepos)
for _,hash in pairs(entitydrives_running) do
if drivehash == hash then
- minetest.log("error","[celevator] [entity drive] Attempted to open doors while drive at "..minetest.pos_to_string(drivepos).." was still moving")
+ core.log("error","[celevator] [entity drive] Attempted to open doors while drive at "..core.pos_to_string(drivepos).." was still moving")
drivemeta:set_string("fault","doorinterlock")
return
end
end
- local origin = minetest.string_to_pos(drivemeta:get_string("origin"))
+ local origin = core.string_to_pos(drivemeta:get_string("origin"))
if not origin then
- minetest.log("error","[celevator] [entity drive] Invalid origin for drive at "..minetest.pos_to_string(drivepos))
+ core.log("error","[celevator] [entity drive] Invalid origin for drive at "..core.pos_to_string(drivepos))
drivemeta:set_string("fault","badorigin")
return
end
local apos = tonumber(drivemeta:get_string("apos")) or 0
local carpos = vector.add(origin,vector.new(0,apos,0))
local carnode = celevator.get_node(carpos)
- local hwdoorpos = vector.add(carpos,vector.rotate_around_axis(minetest.fourdir_to_dir(carnode.param2),vector.new(0,1,0),math.pi))
- local isroot = minetest.get_item_group(celevator.get_node(hwdoorpos).name,"_celevator_hwdoor_root") == 1
+ local hwdoorpos = vector.add(carpos,vector.rotate_around_axis(core.fourdir_to_dir(carnode.param2),vector.new(0,1,0),math.pi))
+ local isroot = core.get_item_group(celevator.get_node(hwdoorpos).name,"_celevator_hwdoor_root") == 1
if direction == "open" and (isroot or drivemeta:get_string("doorstate") == "closing") then
celevator.doors.hwopen(hwdoorpos,drivepos)
drivemeta:set_string("doorstate","opening")
@@ -816,15 +816,15 @@ end
function celevator.drives.entity.pibeep(drivepos)
local drivemeta = celevator.get_meta(drivepos)
- local origin = minetest.string_to_pos(drivemeta:get_string("origin"))
+ local origin = core.string_to_pos(drivemeta:get_string("origin"))
if not origin then
- minetest.log("error","[celevator] [entity drive] Invalid origin for drive at "..minetest.pos_to_string(drivepos))
+ core.log("error","[celevator] [entity drive] Invalid origin for drive at "..core.pos_to_string(drivepos))
drivemeta:set_string("fault","badorigin")
return
end
local apos = tonumber(drivemeta:get_string("apos")) or 0
local beeppos = vector.add(origin,vector.new(0,apos+2,0))
- minetest.sound_play("celevator_pi_beep",{
+ core.sound_play("celevator_pi_beep",{
pos = beeppos,
gain = 1,
},true)
@@ -834,9 +834,9 @@ local function carsearch(pos)
for i=1,500,1 do
local searchpos = vector.subtract(pos,vector.new(0,i,0))
local node = celevator.get_node(searchpos)
- if minetest.get_item_group(node.name,"_celevator_car") == 1 then
- local yaw = minetest.dir_to_yaw(minetest.fourdir_to_dir(node.param2))
- local offsettext = minetest.registered_nodes[node.name]._position
+ if core.get_item_group(node.name,"_celevator_car") == 1 then
+ local yaw = core.dir_to_yaw(core.fourdir_to_dir(node.param2))
+ local offsettext = core.registered_nodes[node.name]._position
local xoffset = tonumber(string.sub(offsettext,1,1))
local yoffset = tonumber(string.sub(offsettext,2,2))
local zoffset = tonumber(string.sub(offsettext,3,3))
@@ -852,27 +852,27 @@ local function updatecarpos(pos)
if meta:get_int("carid") == 0 then return end
local carpos = carsearch(pos)
if carpos then
- meta:set_string("origin",minetest.pos_to_string(carpos))
- celevator.get_meta(carpos):set_string("machinepos",minetest.pos_to_string(pos))
- meta:set_string("infotext",string.format("Using car with origin %s",minetest.pos_to_string(carpos)))
+ meta:set_string("origin",core.pos_to_string(carpos))
+ celevator.get_meta(carpos):set_string("machinepos",core.pos_to_string(pos))
+ meta:set_string("infotext",string.format("Using car with origin %s",core.pos_to_string(carpos)))
local carid = meta:get_int("carid")
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not (carinfo and carinfo.controllerpos) then return end
carinfo.origin = carpos
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
local drivepos = celevator.controller.finddrive(carinfo.controllerpos)
if drivepos then
local drivemeta = celevator.get_meta(drivepos)
if drivemeta:get_string("state") == "uninit" then
- drivemeta:set_string("origin",minetest.pos_to_string(carpos))
+ drivemeta:set_string("origin",core.pos_to_string(carpos))
drivemeta:set_string("state","stopped")
drivemeta:set_int("carid",carid)
end
end
- local caryaw = minetest.dir_to_yaw(minetest.fourdir_to_dir(celevator.get_node(carpos).param2))
+ local caryaw = core.dir_to_yaw(core.fourdir_to_dir(celevator.get_node(carpos).param2))
local carnodes = celevator.drives.entity.gathercar(carpos,caryaw)
for hash in pairs(carnodes) do
- local carmeta = celevator.get_meta(minetest.get_position_from_hash(hash))
+ local carmeta = celevator.get_meta(core.get_position_from_hash(hash))
carmeta:set_int("carid",carid)
end
else
@@ -880,7 +880,7 @@ local function updatecarpos(pos)
end
end
-minetest.register_node("celevator:machine",{
+core.register_node("celevator:machine",{
description = "Elevator Hoist Machine",
groups = {
dig_immediate = 2,
@@ -925,54 +925,54 @@ minetest.register_node("celevator:machine",{
},
after_place_node = function(pos,player)
if not player:is_player() then
- minetest.remove_node(pos)
+ core.remove_node(pos)
return true
end
- local newnode = minetest.get_node(pos)
- local facedir = minetest.dir_to_yaw(minetest.fourdir_to_dir(newnode.param2))
+ local newnode = core.get_node(pos)
+ local facedir = core.dir_to_yaw(core.fourdir_to_dir(newnode.param2))
local motorpos = vector.add(pos,vector.rotate_around_axis(vector.new(-1,0,0),vector.new(0,1,0),facedir))
- local motorreplaces = minetest.get_node(motorpos).name
+ local motorreplaces = core.get_node(motorpos).name
local sheavepos = vector.add(pos,vector.rotate_around_axis(vector.new(0,0,-1),vector.new(0,1,0),facedir))
- local sheavereplaces = minetest.get_node(sheavepos).name
+ local sheavereplaces = core.get_node(sheavepos).name
local name = player:get_player_name()
- if not (minetest.registered_nodes[motorreplaces] and minetest.registered_nodes[motorreplaces].buildable_to) then
- minetest.chat_send_player(name,"Can't place machine here - no room for the motor (to the left)!")
- minetest.remove_node(pos)
+ if not (core.registered_nodes[motorreplaces] and core.registered_nodes[motorreplaces].buildable_to) then
+ core.chat_send_player(name,"Can't place machine here - no room for the motor (to the left)!")
+ core.remove_node(pos)
return true
end
- if minetest.is_protected(motorpos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
- minetest.chat_send_player(name,"Can't place machine here - space for the motor (to the left) is protected!")
- minetest.record_protection_violation(motorpos,name)
- minetest.remove_node(pos)
+ if core.is_protected(motorpos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
+ core.chat_send_player(name,"Can't place machine here - space for the motor (to the left) is protected!")
+ core.record_protection_violation(motorpos,name)
+ core.remove_node(pos)
return true
end
- if not (minetest.registered_nodes[sheavereplaces] and minetest.registered_nodes[sheavereplaces].buildable_to) then
- minetest.chat_send_player(name,"Can't place machine here - no room for the sheave (in front)!")
- minetest.remove_node(pos)
+ if not (core.registered_nodes[sheavereplaces] and core.registered_nodes[sheavereplaces].buildable_to) then
+ core.chat_send_player(name,"Can't place machine here - no room for the sheave (in front)!")
+ core.remove_node(pos)
return true
end
- if minetest.is_protected(sheavepos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
- minetest.chat_send_player(name,"Can't place machine here - space for the sheave (in front) is protected!")
- minetest.record_protection_violation(sheavepos,name)
- minetest.remove_node(pos)
+ if core.is_protected(sheavepos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
+ core.chat_send_player(name,"Can't place machine here - space for the sheave (in front) is protected!")
+ core.record_protection_violation(sheavepos,name)
+ core.remove_node(pos)
return true
end
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_string("formspec","formspec_version[7]size[8,5]field[0.5,0.5;7,1;carid;Car ID;]button[3,3.5;2,1;save;Save]")
- minetest.set_node(motorpos,{name="celevator:motor",param2=newnode.param2})
- minetest.set_node(sheavepos,{name="celevator:sheave",param2=newnode.param2})
+ core.set_node(motorpos,{name="celevator:motor",param2=newnode.param2})
+ core.set_node(sheavepos,{name="celevator:sheave",param2=newnode.param2})
end,
after_dig_node = function(pos,node)
- local facedir = minetest.dir_to_yaw(minetest.fourdir_to_dir(node.param2))
+ local facedir = core.dir_to_yaw(core.fourdir_to_dir(node.param2))
local motorpos = vector.add(pos,vector.rotate_around_axis(vector.new(-1,0,0),vector.new(0,1,0),facedir))
- if minetest.get_node(motorpos).name == "celevator:motor" then
- minetest.remove_node(motorpos)
+ if core.get_node(motorpos).name == "celevator:motor" then
+ core.remove_node(motorpos)
end
local sheavepos = vector.add(pos,vector.rotate_around_axis(vector.new(0,0,-1),vector.new(0,1,0),facedir))
- if minetest.get_node(sheavepos).name == "celevator:sheave" then
- minetest.remove_node(sheavepos)
+ if core.get_node(sheavepos).name == "celevator:sheave" then
+ core.remove_node(sheavepos)
end
- local erefs = minetest.get_objects_inside_radius(sheavepos,0.5)
+ local erefs = core.get_objects_inside_radius(sheavepos,0.5)
for _,ref in pairs(erefs) do
if ref:get_luaentity() and ref:get_luaentity().name == "celevator:sheave_moving" then
ref:remove()
@@ -980,15 +980,15 @@ minetest.register_node("celevator:machine",{
end
end,
on_punch = function(pos)
- local meta = minetest.get_meta(pos)
- if not minetest.string_to_pos(meta:get_string("origin")) then
+ local meta = core.get_meta(pos)
+ if not core.string_to_pos(meta:get_string("origin")) then
updatecarpos(pos)
end
end,
on_receive_fields = function(pos,_,fields)
if tonumber(fields.carid) then
local carid = tonumber(fields.carid)
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not carinfo then return end
local oldmachinepos = carinfo.machinepos
if oldmachinepos then
@@ -998,8 +998,8 @@ minetest.register_node("celevator:machine",{
end
end
carinfo.machinepos = pos
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
- local meta = minetest.get_meta(pos)
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
+ local meta = core.get_meta(pos)
meta:set_int("carid",carid)
meta:set_string("formspec","")
updatecarpos(pos)
@@ -1007,7 +1007,7 @@ minetest.register_node("celevator:machine",{
end,
})
-minetest.register_node("celevator:motor",{
+core.register_node("celevator:motor",{
description = "Hoist Motor (you hacker you!)",
groups = {
not_in_creative_inventory = 1,
@@ -1041,7 +1041,7 @@ minetest.register_node("celevator:motor",{
},
})
-minetest.register_node("celevator:sheave",{
+core.register_node("celevator:sheave",{
description = "Sheave (you hacker you!)",
groups = {
not_in_creative_inventory = 1,
@@ -1074,7 +1074,7 @@ minetest.register_node("celevator:sheave",{
},
})
-minetest.register_node("celevator:sheave_centered",{
+core.register_node("celevator:sheave_centered",{
description = "Centered Sheave (you hacker you!)",
groups = {
not_in_creative_inventory = 1,
@@ -1107,7 +1107,7 @@ minetest.register_node("celevator:sheave_centered",{
},
})
-minetest.register_entity("celevator:sheave_moving",{
+core.register_entity("celevator:sheave_moving",{
initial_properties = {
visual = "wielditem",
visual_size = vector.new(0.667,0.667,0.667),
@@ -1118,13 +1118,13 @@ minetest.register_entity("celevator:sheave_moving",{
})
function celevator.drives.entity.sheavetoentity(carid)
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not (carinfo and carinfo.machinepos) then return end
- local dir = minetest.fourdir_to_dir(celevator.get_node(carinfo.machinepos).param2)
+ local dir = core.fourdir_to_dir(celevator.get_node(carinfo.machinepos).param2)
local pos = vector.add(carinfo.machinepos,vector.multiply(dir,-1))
- minetest.set_node(pos,{
+ core.set_node(pos,{
name = "celevator:sheave",
- param2 = minetest.dir_to_fourdir(dir),
+ param2 = core.dir_to_fourdir(dir),
})
local sheaverefs = celevator.drives.entity.nodestoentities({pos},"celevator:sheave_moving")
celevator.drives.entity.sheaverefs[carid] = sheaverefs
@@ -1133,44 +1133,44 @@ function celevator.drives.entity.sheavetoentity(carid)
end
function celevator.drives.entity.sheavetonode(carid)
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not (carinfo and carinfo.machinepos) then return end
- local dir = minetest.fourdir_to_dir(celevator.get_node(carinfo.machinepos).param2)
+ local dir = core.fourdir_to_dir(celevator.get_node(carinfo.machinepos).param2)
local pos = vector.add(carinfo.machinepos,vector.multiply(dir,-1))
local erefs = celevator.drives.entity.sheaverefs[carid]
if erefs and erefs[1] then
erefs[1]:remove()
end
- minetest.set_node(pos,{
+ core.set_node(pos,{
name = "celevator:sheave",
- param2 = minetest.dir_to_fourdir(dir),
+ param2 = core.dir_to_fourdir(dir),
})
end
function celevator.drives.entity.updatecopformspec(drivepos)
- local entitydrives_running = minetest.deserialize(celevator.storage:get_string("entitydrives_running")) or {}
- if entitydrives_running[minetest.hash_node_position(drivepos)] then return end
+ local entitydrives_running = core.deserialize(celevator.storage:get_string("entitydrives_running")) or {}
+ if entitydrives_running[core.hash_node_position(drivepos)] then return end
local drivemeta = celevator.get_meta(drivepos)
local carid = drivemeta:get_int("carid")
if carid == 0 then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not carinfo then return end
local copformspec = celevator.get_meta(carinfo.controllerpos):get_string("copformspec")
local switchformspec = celevator.get_meta(carinfo.controllerpos):get_string("switchformspec")
- local origin = minetest.string_to_pos(drivemeta:get_string("origin"))
+ local origin = core.string_to_pos(drivemeta:get_string("origin"))
if not origin then
- minetest.log("error","[celevator] [entity drive] Invalid origin for drive at "..minetest.pos_to_string(drivepos))
+ core.log("error","[celevator] [entity drive] Invalid origin for drive at "..core.pos_to_string(drivepos))
drivemeta:set_string("fault","badorigin")
return
end
local apos = tonumber(drivemeta:get_string("apos")) or 0
if apos == math.floor(apos) then
local carpos = vector.add(origin,vector.new(0,apos,0))
- local carnodes = celevator.drives.entity.gathercar(carpos,minetest.dir_to_yaw(minetest.fourdir_to_dir(celevator.get_node(carpos).param2)))
+ local carnodes = celevator.drives.entity.gathercar(carpos,core.dir_to_yaw(core.fourdir_to_dir(celevator.get_node(carpos).param2)))
for hash in pairs(carnodes) do
- local piecepos = minetest.get_position_from_hash(hash)
+ local piecepos = core.get_position_from_hash(hash)
local piece = celevator.get_node(piecepos)
- local ndef = minetest.registered_nodes[piece.name] or {}
+ local ndef = core.registered_nodes[piece.name] or {}
if ndef._cop then
celevator.get_meta(piecepos):set_string("formspec",copformspec)
elseif ndef._keyswitches then
diff --git a/drive_null.lua b/drive_null.lua
index 2664d47..e0607b6 100644
--- a/drive_null.lua
+++ b/drive_null.lua
@@ -7,7 +7,7 @@ celevator.drives.null = {
}
local function update_ui(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local apos = tonumber(meta:get_string("apos")) or 0
local status = "Idle"
local vel = tonumber(meta:get_string("vel")) or 0
@@ -20,9 +20,9 @@ local function update_ui(pos)
end
local function playbuzz(pos)
- local hash = minetest.hash_node_position(pos)
+ local hash = core.hash_node_position(pos)
if celevator.drives.null.soundhandles[hash] == "cancel" then return end
- celevator.drives.null.soundhandles[hash] = minetest.sound_play("celevator_drive_run",{
+ celevator.drives.null.soundhandles[hash] = core.sound_play("celevator_drive_run",{
pos = pos,
loop = true,
gain = 0.4,
@@ -30,29 +30,29 @@ local function playbuzz(pos)
end
local function startbuzz(pos)
- local hash = minetest.hash_node_position(pos)
+ local hash = core.hash_node_position(pos)
if celevator.drives.null.soundhandles[hash] == "cancel" then
celevator.drives.null.soundhandles[hash] = nil
return
end
if celevator.drives.null.soundhandles[hash] then return end
celevator.drives.null.soundhandles[hash] = "pending"
- minetest.after(0.5,playbuzz,pos)
+ core.after(0.5,playbuzz,pos)
end
local function stopbuzz(pos)
- local hash = minetest.hash_node_position(pos)
+ local hash = core.hash_node_position(pos)
if not celevator.drives.null.soundhandles[hash] then return end
if celevator.drives.null.soundhandles[hash] == "pending" then
celevator.drives.null.soundhandles[hash] = "cancel"
end
if type(celevator.drives.null.soundhandles[hash]) ~= "string" then
- minetest.sound_stop(celevator.drives.null.soundhandles[hash])
+ core.sound_stop(celevator.drives.null.soundhandles[hash])
celevator.drives.null.soundhandles[hash] = nil
end
end
-minetest.register_node("celevator:drive_null",{
+core.register_node("celevator:drive_null",{
description = celevator.drives.null.name,
groups = {
cracky = 1,
@@ -79,7 +79,7 @@ minetest.register_node("celevator:drive_null",{
},
_celevator_drive_type = "null",
after_place_node = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_string("apos","0")
meta:set_string("dpos","0")
meta:set_string("vel","0")
@@ -92,19 +92,19 @@ minetest.register_node("celevator:drive_null",{
function celevator.drives.null.step(dtime)
if not celevator.drives.null.step_enabled then return end
- local nulldrives_running = minetest.deserialize(celevator.storage:get_string("nulldrives_running")) or {}
+ local nulldrives_running = core.deserialize(celevator.storage:get_string("nulldrives_running")) or {}
local save = false
for i,hash in ipairs(nulldrives_running) do
save = true
- local pos = minetest.get_position_from_hash(hash)
+ local pos = core.get_position_from_hash(hash)
local node = celevator.get_node(pos)
local sound = false
if node.name == "ignore" then
- minetest.forceload_block(pos,true)
+ core.forceload_block(pos,true)
elseif node.name ~= "celevator:drive_null" then
table.remove(nulldrives_running,i)
else
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local apos = tonumber(meta:get_string("apos")) or 0
local dpos = tonumber(meta:get_string("dpos")) or 0
local maxvel = tonumber(meta:get_string("maxvel")) or 0.2
@@ -146,18 +146,18 @@ function celevator.drives.null.step(dtime)
end
end
if save then
- celevator.storage:set_string("nulldrives_running",minetest.serialize(nulldrives_running))
+ celevator.storage:set_string("nulldrives_running",core.serialize(nulldrives_running))
end
celevator.drives.null.step_enabled = save
end
-minetest.register_globalstep(celevator.drives.null.step)
+core.register_globalstep(celevator.drives.null.step)
function celevator.drives.null.moveto(pos,target)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_string("dpos",tostring(target))
- local hash = minetest.hash_node_position(pos)
- local nulldrives_running = minetest.deserialize(celevator.storage:get_string("nulldrives_running")) or {}
+ local hash = core.hash_node_position(pos)
+ local nulldrives_running = core.deserialize(celevator.storage:get_string("nulldrives_running")) or {}
local running = false
for _,dhash in ipairs(nulldrives_running) do
if hash == dhash then
@@ -168,7 +168,7 @@ function celevator.drives.null.moveto(pos,target)
if not running then
celevator.drives.null.step_enabled = true
table.insert(nulldrives_running,hash)
- celevator.storage:set_string("nulldrives_running",minetest.serialize(nulldrives_running))
+ celevator.storage:set_string("nulldrives_running",core.serialize(nulldrives_running))
end
end
@@ -177,13 +177,13 @@ function celevator.drives.null.resetpos(pos)
end
function celevator.drives.null.estop(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_string("dpos",meta:get_string("apos"))
meta:set_string("vel","0")
end
function celevator.drives.null.setmaxvel(pos,maxvel)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_string("maxvel",tostring(maxvel))
end
@@ -192,35 +192,35 @@ function celevator.drives.null.rezero(pos)
end
function celevator.drives.null.movedoors(drivepos,direction)
- local drivehash = minetest.hash_node_position(drivepos)
- local nulldrives_running = minetest.deserialize(celevator.storage:get_string("nulldrives_running")) or {}
+ local drivehash = core.hash_node_position(drivepos)
+ local nulldrives_running = core.deserialize(celevator.storage:get_string("nulldrives_running")) or {}
for _,hash in pairs(nulldrives_running) do
if drivehash == hash then return end
end
- local drivemeta = minetest.get_meta(drivepos)
+ local drivemeta = core.get_meta(drivepos)
if direction == "open" then
drivemeta:set_string("doorstate","opening")
- minetest.after(math.pi+0.5,function()
- minetest.get_meta(drivepos):set_string("doorstate","open")
+ core.after(math.pi+0.5,function()
+ core.get_meta(drivepos):set_string("doorstate","open")
end)
elseif direction == "close" then
drivemeta:set_string("doorstate","closing")
- minetest.after((math.pi/0.66)+0.5,function()
- minetest.get_meta(drivepos):set_string("doorstate","closed")
+ core.after((math.pi/0.66)+0.5,function()
+ core.get_meta(drivepos):set_string("doorstate","closed")
end)
end
end
function celevator.drives.null.getstatus(pos,call2)
- local node = minetest.get_node(pos)
+ local node = core.get_node(pos)
if node.name == "ignore" and not call2 then
- minetest.forceload_block(pos,true)
+ core.forceload_block(pos,true)
return celevator.drives.null.get_status(pos,true)
elseif node.name ~= "celevator:drive_null" then
- minetest.log("error","[celevator] [null drive] Could not load drive status at "..minetest.pos_to_string(pos))
+ core.log("error","[celevator] [null drive] Could not load drive status at "..core.pos_to_string(pos))
return
else
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local ret = {}
ret.apos = tonumber(meta:get_string("apos")) or 0
ret.dpos = tonumber(meta:get_string("dpos")) or 0
@@ -236,7 +236,7 @@ function celevator.drives.null.resetfault(pos)
--This drive has no possible faults at this time
--(drive communication faults are generated by the controller),
--but the controller expects to be able to call this
- minetest.get_meta(pos):set_string("fault","")
+ core.get_meta(pos):set_string("fault","")
end
function celevator.drives.null.updatecopformspec()
diff --git a/framework.lua b/framework.lua
index 1793634..e2aed27 100644
--- a/framework.lua
+++ b/framework.lua
@@ -1,20 +1,20 @@
celevator = {
drives = {},
- storage = minetest.get_mod_storage(),
+ storage = core.get_mod_storage(),
}
function celevator.get_node(pos)
- local node = minetest.get_node_or_nil(pos)
+ local node = core.get_node_or_nil(pos)
if node then return node end
VoxelManip(pos,pos)
- return minetest.get_node(pos)
+ return core.get_node(pos)
end
function celevator.get_meta(pos)
- if minetest.get_node_or_nil(pos) then
- return minetest.get_meta(pos)
+ if core.get_node_or_nil(pos) then
+ return core.get_meta(pos)
else
VoxelManip(pos,pos)
- return minetest.get_meta(pos)
+ return core.get_meta(pos)
end
end
diff --git a/fs1switch.lua b/fs1switch.lua
index 5949250..a5cb2f4 100644
--- a/fs1switch.lua
+++ b/fs1switch.lua
@@ -12,42 +12,42 @@ local nodebox = {
}
local function resetspring(pos)
- local node = minetest.get_node(pos)
+ local node = core.get_node(pos)
local offstates = {
["celevator:fs1switch_reset"] = "celevator:fs1switch_off",
["celevator:fs1switch_reset_lit"] = "celevator:fs1switch_off_lit",
}
if offstates[node.name] then
node.name = offstates[node.name]
- minetest.swap_node(pos,node)
+ core.swap_node(pos,node)
end
end
local function rightclick(pos,node,player)
if not (player and player:is_player()) then return end
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
if meta:get_string("formspec") ~= "" then return end
local name = player:get_player_name()
- if minetest.is_protected(pos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
- minetest.chat_send_player(name,"You don't have a key for this switch.")
- minetest.record_protection_violation(pos,name)
+ if core.is_protected(pos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
+ core.chat_send_player(name,"You don't have a key for this switch.")
+ core.record_protection_violation(pos,name)
return
end
if node.name == "celevator:fs1switch_off" then
node.name = "celevator:fs1switch_on"
- minetest.swap_node(pos,node)
+ core.swap_node(pos,node)
elseif node.name == "celevator:fs1switch_on" then
node.name = "celevator:fs1switch_reset"
- minetest.swap_node(pos,node)
- minetest.after(0.5,resetspring,pos)
+ core.swap_node(pos,node)
+ core.after(0.5,resetspring,pos)
elseif node.name == "celevator:fs1switch_off_lit" or node.name == "celevator:fs1switch_on_lit" then
node.name = "celevator:fs1switch_reset_lit"
- minetest.swap_node(pos,node)
- minetest.after(0.5,resetspring,pos)
+ core.swap_node(pos,node)
+ core.after(0.5,resetspring,pos)
end
local carid = meta:get_int("carid")
if carid == 0 then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not carinfo then return end
local controllerpos = carinfo.controllerpos
local dispatcher = false
@@ -56,7 +56,7 @@ local function rightclick(pos,node,player)
dispatcher = true
end
if not controllerpos then return end
- local controllermeta = minetest.get_meta(controllerpos)
+ local controllermeta = core.get_meta(controllerpos)
if controllermeta:get_int("carid") ~= carid then return end
if node.name == "celevator:fs1switch_reset" or node.name == "celevator:fs1switch_reset_lit" then
if dispatcher then
@@ -87,23 +87,23 @@ function celevator.fs1switch.setled(pos,on)
local node = celevator.get_node(pos)
if on and onstates[node.name] then
node.name = onstates[node.name]
- minetest.swap_node(pos,node)
+ core.swap_node(pos,node)
elseif (not on) and offstates[node.name] then
node.name = offstates[node.name]
- minetest.swap_node(pos,node)
+ core.swap_node(pos,node)
end
end
local function unpair(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local carid = meta:get_int("carid")
if carid == 0 then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not (carinfo and carinfo.fs1switches) then return end
for i,fs1switch in pairs(carinfo.fs1switches) do
if vector.equals(pos,fs1switch.pos) then
table.remove(carinfo.fs1switches,i)
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
end
end
end
@@ -111,7 +111,7 @@ end
local switchstates = {"off","on","reset"}
for _,switchpos in ipairs(switchstates) do
- minetest.register_node("celevator:fs1switch_"..switchpos,{
+ core.register_node("celevator:fs1switch_"..switchpos,{
description = "Elevator Fire Service Phase 1 Keyswitch"..(switchpos == "off" and "" or string.format(" (%s state - you hacker you!)",switchpos)),
groups = {
dig_immediate = 2,
@@ -136,35 +136,35 @@ for _,switchpos in ipairs(switchstates) do
fixed = nodebox,
},
after_place_node = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_string("formspec","formspec_version[7]size[8,5]field[0.5,0.5;7,1;carid;Car ID;]button[3,3.5;2,1;save;Save]")
end,
on_receive_fields = function(pos,_,fields,player)
local carid = tonumber(fields.carid or 0)
if not (carid and carid >= 1 and carid == math.floor(carid)) then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not carinfo then return end
local controllerpos = carinfo.controllerpos or carinfo.dispatcherpos
if not controllerpos then return end
local name = player:get_player_name()
- if minetest.is_protected(controllerpos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
+ if core.is_protected(controllerpos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
if player:is_player() then
- minetest.chat_send_player(name,"Can't connect to a controller/dispatcher you don't have access to.")
- minetest.record_protection_violation(controllerpos,name)
+ core.chat_send_player(name,"Can't connect to a controller/dispatcher you don't have access to.")
+ core.record_protection_violation(controllerpos,name)
end
return
end
if not carinfo.fs1switches then carinfo.fs1switches = {} end
table.insert(carinfo.fs1switches,{pos=pos})
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
- local meta = minetest.get_meta(pos)
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
+ local meta = core.get_meta(pos)
meta:set_int("carid",carid)
meta:set_string("formspec","")
end,
on_rightclick = rightclick,
on_destruct = unpair,
})
- minetest.register_node("celevator:fs1switch_"..switchpos.."_lit",{
+ core.register_node("celevator:fs1switch_"..switchpos.."_lit",{
description = "Elevator Fire Service Phase 1 Keyswitch"..string.format(" (%s state, lit - you hacker you!)",switchpos),
groups = {
dig_immediate = 2,
diff --git a/genericswitch.lua b/genericswitch.lua
index 9cdf31c..f1936a7 100644
--- a/genericswitch.lua
+++ b/genericswitch.lua
@@ -236,7 +236,7 @@ local dinputoptions = {
}
local function updateinputform(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local dmode = meta:get_int("dispatcher") == 1
local fs = "formspec_version[7]size[8,8.5]"
fs = fs.."tabheader[0,0;1;tab;Controller,Dispatcher;"..(dmode and "2" or "1")..";true;true]"
@@ -245,7 +245,7 @@ local function updateinputform(pos)
local selected_on = 1
local currentid_on = meta:get_string("signal_on")
for k,v in ipairs(dmode and dinputoptions or inputoptions) do
- fs = fs..minetest.formspec_escape(v.desc)..","
+ fs = fs..core.formspec_escape(v.desc)..","
if v.id == currentid_on then selected_on = k end
end
fs = string.sub(fs,1,-2)
@@ -258,7 +258,7 @@ local function updateinputform(pos)
local selected_off = 1
local currentid_off = meta:get_string("signal_off")
for k,v in ipairs(dmode and dinputoptions or inputoptions) do
- fs = fs..minetest.formspec_escape(v.desc)..","
+ fs = fs..core.formspec_escape(v.desc)..","
if v.id == currentid_off then selected_off = k end
end
fs = string.sub(fs,1,-2)
@@ -271,11 +271,11 @@ end
local function handleinputfields(pos,_,fields,player)
if fields.quit and not fields.save then return end
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local name = player:get_player_name()
- if minetest.is_protected(pos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
+ if core.is_protected(pos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
if player:is_player() then
- minetest.record_protection_violation(pos,name)
+ core.record_protection_violation(pos,name)
end
return
end
@@ -284,24 +284,24 @@ local function handleinputfields(pos,_,fields,player)
if not tonumber(fields.carid) then return end
meta:set_int("carid",fields.carid)
local carid = tonumber(fields.carid)
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid))) or {}
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid))) or {}
if dmode then
if not carinfo.dispatcherpos then return end
if not celevator.dispatcher.isdispatcher(carinfo.dispatcherpos) then return end
- if minetest.is_protected(carinfo.dispatcherpos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
+ if core.is_protected(carinfo.dispatcherpos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
if player:is_player() then
- minetest.chat_send_player(name,"Can't connect to a dispatcher you don't have access to.")
- minetest.record_protection_violation(carinfo.dispatcherpos,name)
+ core.chat_send_player(name,"Can't connect to a dispatcher you don't have access to.")
+ core.record_protection_violation(carinfo.dispatcherpos,name)
end
return
end
else
if not carinfo.controllerpos then return end
if not celevator.controller.iscontroller(carinfo.controllerpos) then return end
- if minetest.is_protected(carinfo.controllerpos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
+ if core.is_protected(carinfo.controllerpos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
if player:is_player() then
- minetest.chat_send_player(name,"Can't connect to a controller you don't have access to.")
- minetest.record_protection_violation(carinfo.controllerpos,name)
+ core.chat_send_player(name,"Can't connect to a controller you don't have access to.")
+ core.record_protection_violation(carinfo.controllerpos,name)
end
return
end
@@ -342,9 +342,9 @@ local function handleinputfields(pos,_,fields,player)
if def_on.id ~= "none" or def_off.id ~= "none" then
meta:set_string("formspec","")
local momentary = def_off.id == "none"
- local node = minetest.get_node(pos)
+ local node = core.get_node(pos)
node.name = (momentary and "celevator:genericswitch_momentary_off" or "celevator:genericswitch_maintained_off")
- minetest.swap_node(pos,node)
+ core.swap_node(pos,node)
end
elseif fields.tab then
meta:set_int("dispatcher",tonumber(fields.tab)-1)
@@ -353,10 +353,10 @@ local function handleinputfields(pos,_,fields,player)
end
local function handleinput(pos,on)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local carid = meta:get_int("carid")
if carid == 0 then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid))) or {}
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid))) or {}
local dmode = meta:get_int("dispatcher") == 1
if dmode then
if not carinfo.dispatcherpos then return end
@@ -382,7 +382,7 @@ local function handleinput(pos,on)
end
end
-minetest.register_node("celevator:genericswitch",{
+core.register_node("celevator:genericswitch",{
description = "Elevator Keyswitch",
tiles = {
"celevator_cabinet_sides.png",
@@ -405,14 +405,14 @@ minetest.register_node("celevator:genericswitch",{
},
},
after_place_node = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_int("floor",1)
updateinputform(pos)
end,
on_receive_fields = handleinputfields,
})
-minetest.register_node("celevator:genericswitch_maintained_off",{
+core.register_node("celevator:genericswitch_maintained_off",{
description = "Elevator Keyswitch (maintained, off state - you hacker you!)",
tiles = {
"celevator_cabinet_sides.png",
@@ -438,18 +438,18 @@ minetest.register_node("celevator:genericswitch_maintained_off",{
},
on_rightclick = function(pos,node,player)
local name = player:get_player_name()
- if minetest.is_protected(pos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
- minetest.chat_send_player(name,"You don't have a key for this switch.")
- minetest.record_protection_violation(pos,name)
+ if core.is_protected(pos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
+ core.chat_send_player(name,"You don't have a key for this switch.")
+ core.record_protection_violation(pos,name)
return
end
node.name = "celevator:genericswitch_maintained_on"
- minetest.swap_node(pos,node)
+ core.swap_node(pos,node)
handleinput(pos,true)
end,
})
-minetest.register_node("celevator:genericswitch_maintained_on",{
+core.register_node("celevator:genericswitch_maintained_on",{
description = "Elevator Keyswitch (maintained, on state - you hacker you!)",
tiles = {
"celevator_cabinet_sides.png",
@@ -475,18 +475,18 @@ minetest.register_node("celevator:genericswitch_maintained_on",{
},
on_rightclick = function(pos,node,player)
local name = player:get_player_name()
- if minetest.is_protected(pos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
- minetest.chat_send_player(name,"You don't have a key for this switch.")
- minetest.record_protection_violation(pos,name)
+ if core.is_protected(pos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
+ core.chat_send_player(name,"You don't have a key for this switch.")
+ core.record_protection_violation(pos,name)
return
end
node.name = "celevator:genericswitch_maintained_off"
- minetest.swap_node(pos,node)
+ core.swap_node(pos,node)
handleinput(pos,false)
end,
})
-minetest.register_node("celevator:genericswitch_momentary_off",{
+core.register_node("celevator:genericswitch_momentary_off",{
description = "Elevator Keyswitch (momentary, off state - you hacker you!)",
tiles = {
"celevator_cabinet_sides.png",
@@ -512,25 +512,25 @@ minetest.register_node("celevator:genericswitch_momentary_off",{
},
on_rightclick = function(pos,node,player)
local name = player:get_player_name()
- if minetest.is_protected(pos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
- minetest.chat_send_player(name,"You don't have a key for this switch.")
- minetest.record_protection_violation(pos,name)
+ if core.is_protected(pos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
+ core.chat_send_player(name,"You don't have a key for this switch.")
+ core.record_protection_violation(pos,name)
return
end
node.name = "celevator:genericswitch_momentary_on"
- minetest.swap_node(pos,node)
+ core.swap_node(pos,node)
handleinput(pos,true)
- minetest.after(1,function()
- local newnode = minetest.get_node(pos)
+ core.after(1,function()
+ local newnode = core.get_node(pos)
if newnode.name == "celevator:genericswitch_momentary_on" then
newnode.name = "celevator:genericswitch_momentary_off"
- minetest.swap_node(pos,newnode)
+ core.swap_node(pos,newnode)
end
end)
end,
})
-minetest.register_node("celevator:genericswitch_momentary_on",{
+core.register_node("celevator:genericswitch_momentary_on",{
description = "Elevator Keyswitch (momentary, on state - you hacker you!)",
tiles = {
"celevator_cabinet_sides.png",
diff --git a/governor.lua b/governor.lua
index 02c036e..4e717d8 100644
--- a/governor.lua
+++ b/governor.lua
@@ -1,19 +1,19 @@
local function spawngovsheave(pos)
- local entitiesnearby = minetest.get_objects_inside_radius(pos,0.5)
+ local entitiesnearby = core.get_objects_inside_radius(pos,0.5)
for _,i in pairs(entitiesnearby) do
if i:get_luaentity() and i:get_luaentity().name == "celevator:governor_sheave" then
return
end
end
- local entity = minetest.add_entity(pos,"celevator:governor_sheave")
- local fdir = minetest.fourdir_to_dir(minetest.get_node(pos).param2)
- local yaw = minetest.dir_to_yaw(fdir)
+ local entity = core.add_entity(pos,"celevator:governor_sheave")
+ local fdir = core.fourdir_to_dir(core.get_node(pos).param2)
+ local yaw = core.dir_to_yaw(fdir)
local offset = vector.rotate_around_axis(vector.new(0,-0.05,-0.143),vector.new(0,1,0),yaw)
entity:set_yaw(yaw)
entity:set_pos(vector.add(pos,offset))
end
-minetest.register_node("celevator:governor",{
+core.register_node("celevator:governor",{
description = "Elevator Governor",
groups = {
cracky = 1,
@@ -39,11 +39,11 @@ minetest.register_node("celevator:governor",{
},
},
on_construct = function(pos)
- minetest.get_meta(pos):set_string("formspec","field[carid;Car ID;]")
+ core.get_meta(pos):set_string("formspec","field[carid;Car ID;]")
spawngovsheave(pos)
end,
after_dig_node = function(pos)
- local entitiesnearby = minetest.get_objects_inside_radius(pos,0.5)
+ local entitiesnearby = core.get_objects_inside_radius(pos,0.5)
for _,i in pairs(entitiesnearby) do
if i:get_luaentity() and i:get_luaentity().name == "celevator:governor_sheave" then
i:remove()
@@ -53,16 +53,16 @@ minetest.register_node("celevator:governor",{
on_receive_fields = function(pos,_,fields)
if not (fields.carid and tonumber(fields.carid)) then return end
local carid = tonumber(fields.carid)
- local carinfo = minetest.deserialize(celevator.storage:get_string("car"..carid))
+ local carinfo = core.deserialize(celevator.storage:get_string("car"..carid))
if not (carinfo and carinfo.controllerpos) then return end
if not celevator.controller.iscontroller(carinfo.controllerpos) then return end
- local meta = minetest.get_meta(pos)
- meta:set_string("controllerpos",minetest.pos_to_string(carinfo.controllerpos))
+ local meta = core.get_meta(pos)
+ meta:set_string("controllerpos",core.pos_to_string(carinfo.controllerpos))
meta:set_string("formspec","")
end,
})
-minetest.register_node("celevator:governor_sheave",{
+core.register_node("celevator:governor_sheave",{
description = "Governor Sheave (you hacker you!)",
groups = {
not_in_creative_inventory = 1,
@@ -95,7 +95,7 @@ minetest.register_node("celevator:governor_sheave",{
},
})
-minetest.register_entity("celevator:governor_sheave",{
+core.register_entity("celevator:governor_sheave",{
initial_properties = {
visual = "wielditem",
visual_size = vector.new(0.4,0.4,0.27),
@@ -107,9 +107,9 @@ minetest.register_entity("celevator:governor_sheave",{
local sheave = self.object
if not sheave then return end
local governorpos = vector.round(sheave:get_pos())
- if not minetest.compare_block_status(governorpos,"active") then return self.object:remove() end
+ if not core.compare_block_status(governorpos,"active") then return self.object:remove() end
local governormeta = celevator.get_meta(governorpos)
- local controllerpos = minetest.string_to_pos(governormeta:get_string("controllerpos"))
+ local controllerpos = core.string_to_pos(governormeta:get_string("controllerpos"))
if not controllerpos then return end
local controllermeta = celevator.get_meta(controllerpos)
local vel = tonumber(controllermeta:get_string("vel")) or 0
@@ -123,7 +123,7 @@ minetest.register_entity("celevator:governor_sheave",{
end,
})
-minetest.register_lbm({
+core.register_lbm({
name = "celevator:spawngovsheave",
label = "Spawn governor sheaves",
nodenames = {"celevator:governor"},
diff --git a/init.lua b/init.lua
index e718c8e..13141c7 100644
--- a/init.lua
+++ b/init.lua
@@ -28,9 +28,9 @@ local integrations = {
}
for _,i in ipairs(integrations) do
- if minetest.get_modpath(i) then table.insert(components,i) end
+ if core.get_modpath(i) then table.insert(components,i) end
end
for _,v in ipairs(components) do
- dofile(string.format("%s%s%s.lua",minetest.get_modpath("celevator"),DIR_DELIM,v))
+ dofile(string.format("%s%s%s.lua",core.get_modpath("celevator"),DIR_DELIM,v))
end
diff --git a/laptop.lua b/laptop.lua
index bbfe0a5..8f8edb2 100644
--- a/laptop.lua
+++ b/laptop.lua
@@ -25,7 +25,7 @@ laptop.register_app("celevator",{
fs = fs.."textlist[1,2;6,7;connection;"
for i=#mem.connections,1,-1 do
local text = string.format("ID %d - %s",mem.connections[i].carid,mem.connections[i].name)
- fs = fs..minetest.formspec_escape(text)
+ fs = fs..core.formspec_escape(text)
fs = fs..(i==1 and "" or ",")
end
fs = fs..";"..tostring(#mem.connections-mem.selectedconnection+1)..";false]"
@@ -45,15 +45,15 @@ laptop.register_app("celevator",{
fs = fs..mtos.theme:get_label("0.5,1","Please enter the ID you would like to connect to and a name for the connection.")
fs = fs..mtos.theme:get_label("0.7,1.8","ID")
fs = fs..mtos.theme:get_label("3.7,1.8","Name")
- fs = fs..string.format("field[1,2.5;2,1;carid;;%s]",minetest.formspec_escape(mem.newconnection.carid))
- fs = fs..string.format("field[4,2.5;4,1;name;;%s]",minetest.formspec_escape(mem.newconnection.name))
+ fs = fs..string.format("field[1,2.5;2,1;carid;;%s]",core.formspec_escape(mem.newconnection.carid))
+ fs = fs..string.format("field[4,2.5;4,1;name;;%s]",core.formspec_escape(mem.newconnection.name))
fs = fs..mtos.theme:get_button("3,4;3,1","major","save","Save")
fs = fs..mtos.theme:get_button("3,5.5;3,1","major","cancel","Cancel")
elseif ram.screenstate == "editconnection" then
fs = fs..mtos.theme:get_label("0.5,0.5","EDIT CONNECTION")
fs = fs..mtos.theme:get_label("0.7,1.8","ID: "..mem.connections[mem.selectedconnection].carid)
fs = fs..mtos.theme:get_label("3.7,1.8","Name")
- fs = fs..string.format("field[4,2.5;4,1;name;;%s]",minetest.formspec_escape(mem.connections[mem.selectedconnection].name))
+ fs = fs..string.format("field[4,2.5;4,1;name;;%s]",core.formspec_escape(mem.connections[mem.selectedconnection].name))
fs = fs..mtos.theme:get_button("3,4;3,1","major","save","Save")
fs = fs..mtos.theme:get_button("3,5.5;3,1","major","cancel","Cancel")
elseif ram.screenstate == "notfound" then
@@ -69,8 +69,8 @@ laptop.register_app("celevator",{
local connection = mem.connections[mem.selectedconnection]
local pos = connection.pos
if celevator.dispatcher.isdispatcher(pos) then
- local meta = minetest.get_meta(pos)
- local dmem = minetest.deserialize(meta:get_string("mem"))
+ local meta = core.get_meta(pos)
+ local dmem = core.deserialize(meta:get_string("mem"))
if not dmem then return end
fs = fs.."background9[-0.1,0.4;15.2,10.05;celevator_fs_bg.png;false;3]"
fs = fs.."label[0.5,0.5;"..string.format("Connected to %s (ID %d)",connection.name,connection.carid).."]"
@@ -86,7 +86,7 @@ laptop.register_app("celevator",{
local carid = dmem.params.carids[car]
local carstate = dmem.carstatus[carid].state
fs = fs..string.format("label[%f,9.8;CAR %d]",xp,car)
- fs = fs..string.format("label[%f,10;%s]",xp+0.1,minetest.colorize("#ff5555",(carstate == "normal" and " IN" or "OUT")))
+ fs = fs..string.format("label[%f,10;%s]",xp+0.1,core.colorize("#ff5555",(carstate == "normal" and " IN" or "OUT")))
end
local lowestfloor = (mem.screenpage-1)*10+1
local maxfloor = #dmem.params.floornames
@@ -142,11 +142,11 @@ laptop.register_app("celevator",{
local floor = i+lowestfloor-1
fs = fs..string.format("label[0.62,%f;%s]",yp+0.05,dmem.params.floornames[floor])
local uplabel = ""
- if dmem.upcalls[floor] then uplabel = minetest.colorize("#55FF55",math.floor(dmem.upeta[floor] or 0)) end
+ if dmem.upcalls[floor] then uplabel = core.colorize("#55FF55",math.floor(dmem.upeta[floor] or 0)) end
if floor < #dmem.params.floornames then fs = fs..string.format("image_button[0,%f;0.66,0.66;celevator_fs_bg.png;upcall%d;%s]",yp,floor,uplabel) end
fs = fs..string.format("label[14,%f;%s]",yp+0.05,dmem.params.floornames[floor])
local dnlabel = ""
- if dmem.dncalls[floor] then dnlabel = minetest.colorize("#FF5555",math.floor(dmem.dneta[floor] or 0)) end
+ if dmem.dncalls[floor] then dnlabel = core.colorize("#FF5555",math.floor(dmem.dneta[floor] or 0)) end
if floor > 1 then fs = fs..string.format("image_button[14.4,%f;0.66,0.66;celevator_fs_bg.png;dncall%d;%s]",yp,floor,dnlabel) end
for car=1,#dmem.params.carids,1 do
local xp = (car-1)*0.75+1
@@ -154,10 +154,10 @@ laptop.register_app("celevator",{
local carfloor = realtocarfloor(carid,floor)
if carfloor then
local ccdot = dmem.carstatus[carid].carcalls[carfloor] and "*" or ""
- local groupup = dmem.carstatus[carid].groupupcalls[carfloor] and minetest.colorize("#55FF55","^") or ""
- local swingup = dmem.carstatus[carid].swingupcalls[carfloor] and minetest.colorize("#FFFF55","^") or ""
- local swingdn = dmem.carstatus[carid].swingdncalls[carfloor] and minetest.colorize("#FFFF55","v") or ""
- local groupdn = dmem.carstatus[carid].groupdncalls[carfloor] and minetest.colorize("#FF5555","v") or ""
+ local groupup = dmem.carstatus[carid].groupupcalls[carfloor] and core.colorize("#55FF55","^") or ""
+ local swingup = dmem.carstatus[carid].swingupcalls[carfloor] and core.colorize("#FFFF55","^") or ""
+ local swingdn = dmem.carstatus[carid].swingdncalls[carfloor] and core.colorize("#FFFF55","v") or ""
+ local groupdn = dmem.carstatus[carid].groupdncalls[carfloor] and core.colorize("#FF5555","v") or ""
ccdot = groupup..swingup..ccdot..swingdn..groupdn
if getpos(carid) == floor then
local cargraphics = {
@@ -169,9 +169,9 @@ laptop.register_app("celevator",{
}
ccdot = cargraphics[dmem.carstatus[carid].doorstate]
if dmem.carstatus[carid].direction == "up" then
- ccdot = minetest.colorize("#55FF55",ccdot)
+ ccdot = core.colorize("#55FF55",ccdot)
elseif dmem.carstatus[carid].direction == "down" then
- ccdot = minetest.colorize("#FF5555",ccdot)
+ ccdot = core.colorize("#FF5555",ccdot)
end
end
fs = fs..string.format("image_button[%f,%f;0.66,0.66;celevator_fs_bg.png;carcall%02d%d;%s]",xp,yp,car,floor,ccdot)
@@ -186,8 +186,8 @@ laptop.register_app("celevator",{
local connection = mem.connections[mem.selectedconnection]
local pos = connection.pos
if celevator.controller.iscontroller(pos) then
- local meta = minetest.get_meta(pos)
- local cmem = minetest.deserialize(meta:get_string("mem"))
+ local meta = core.get_meta(pos)
+ local cmem = core.deserialize(meta:get_string("mem"))
if not cmem then return end
local modenames = {
normal = "Normal Operation",
@@ -227,7 +227,7 @@ laptop.register_app("celevator",{
fs = fs..mtos.theme:get_label("1,1",string.format("Connected to %s (ID %d)",connection.name,connection.carid))
fs = fs..mtos.theme:get_label("1,2",modenames[cmem.carstate])
fs = fs..mtos.theme:get_label("1,2.5",string.format("Doors %s",doorstates[cmem.doorstate]))
- local pi = minetest.formspec_escape(cmem.params.floornames[carfloor])
+ local pi = core.formspec_escape(cmem.params.floornames[carfloor])
fs = fs..mtos.theme:get_label("1,3",string.format("Position: %0.02fm Speed: %+0.02fm/s PI: %s",cmem.drive.status.apos,cmem.drive.status.vel,pi))
if #cmem.faultlog > 0 then
fs = fs..mtos.theme:get_label("1,3.5","Fault(s) Active")
@@ -259,7 +259,7 @@ laptop.register_app("celevator",{
local ypos = (11-(i*0.9))*0.9-0.75
local floornum = bottom+i
if floornum > maxfloor then break end
- fs = fs..string.format("label[10.125,%f;%s]",ypos-0.2,minetest.formspec_escape(cmem.params.floornames[floornum]))
+ fs = fs..string.format("label[10.125,%f;%s]",ypos-0.2,core.formspec_escape(cmem.params.floornames[floornum]))
local ccdot = cmem.carcalls[floornum] and "*" or ""
if carfloor == floornum then
local cargraphics = {
@@ -271,25 +271,25 @@ laptop.register_app("celevator",{
}
ccdot = cargraphics[cmem.doorstate]
if cmem.direction == "up" then
- ccdot = minetest.colorize("#55FF55",ccdot)
+ ccdot = core.colorize("#55FF55",ccdot)
elseif cmem.direction == "down" then
- ccdot = minetest.colorize("#FF5555",ccdot)
+ ccdot = core.colorize("#FF5555",ccdot)
end
end
fs = fs..string.format("image_button[11.925,%f;0.75,0.75;celevator_fs_bg.png;carcall%d;%s]",ypos-0.25,floornum,ccdot)
if floornum < maxfloor then
- local arrow = cmem.upcalls[floornum] and minetest.colorize("#55FF55","^") or ""
+ local arrow = cmem.upcalls[floornum] and core.colorize("#55FF55","^") or ""
if cmem.params.groupmode == "group" then
- arrow = cmem.groupupcalls[floornum] and minetest.colorize("#55FF55","^") or ""
- arrow = (cmem.swingupcalls[floornum] and minetest.colorize("#FFFF55","^") or "")..arrow
+ arrow = cmem.groupupcalls[floornum] and core.colorize("#55FF55","^") or ""
+ arrow = (cmem.swingupcalls[floornum] and core.colorize("#FFFF55","^") or "")..arrow
end
fs = fs..string.format("image_button[11.025,%f;0.75,0.75;celevator_fs_bg.png;upcall%d;%s]",ypos-0.25,floornum,arrow)
end
if floornum > 1 then
- local arrow = cmem.dncalls[floornum] and minetest.colorize("#FF5555","v") or ""
+ local arrow = cmem.dncalls[floornum] and core.colorize("#FF5555","v") or ""
if cmem.params.groupmode == "group" then
- arrow = cmem.swingdncalls[floornum] and minetest.colorize("#FFFF55","v") or ""
- arrow = (cmem.groupdncalls[floornum] and minetest.colorize("#FF5555","v") or "")..arrow
+ arrow = cmem.swingdncalls[floornum] and core.colorize("#FFFF55","v") or ""
+ arrow = (cmem.groupdncalls[floornum] and core.colorize("#FF5555","v") or "")..arrow
end
fs = fs..string.format("image_button[12.825,%f;0.75,0.75;celevator_fs_bg.png;downcall%d;%s]",ypos-0.25,floornum,arrow)
end
@@ -310,7 +310,7 @@ laptop.register_app("celevator",{
ram.screenstate = "connections"
end
elseif ram.screenstate == "connections" then
- local exp = fields.connection and minetest.explode_textlist_event(fields.connection) or {}
+ local exp = fields.connection and core.explode_textlist_event(fields.connection) or {}
if fields.new then
ram.screenstate = "newconnection"
mem.newconnection.name = "Untitled"
@@ -337,8 +337,8 @@ laptop.register_app("celevator",{
if exp.type == "DCL" then mem.selectedconnection = #mem.connections-exp.index+1 end
local connection = mem.connections[mem.selectedconnection]
local cpos = connection.pos
- if minetest.is_protected(cpos,mtos.sysram.current_player) and not minetest.check_player_privs(mtos.sysram.current_player,{protection_bypass=true}) then
- minetest.record_protection_violation(cpos,mtos.sysram.current_player)
+ if core.is_protected(cpos,mtos.sysram.current_player) and not core.check_player_privs(mtos.sysram.current_player,{protection_bypass=true}) then
+ core.record_protection_violation(cpos,mtos.sysram.current_player)
ram.screenstate = "protected"
return
end
@@ -363,7 +363,7 @@ laptop.register_app("celevator",{
if fields.save then
local carid = tonumber(fields.carid)
if not (carid and math.floor(carid) == carid) then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not carinfo then return end
local pos = carinfo.controllerpos
local itemtype
@@ -376,8 +376,8 @@ laptop.register_app("celevator",{
ram.screenstate = "notfound"
return
end
- if minetest.is_protected(pos,mtos.sysram.current_player) and not minetest.check_player_privs(mtos.sysram.current_player,{protection_bypass=true}) then
- minetest.record_protection_violation(pos,mtos.sysram.current_player)
+ if core.is_protected(pos,mtos.sysram.current_player) and not core.check_player_privs(mtos.sysram.current_player,{protection_bypass=true}) then
+ core.record_protection_violation(pos,mtos.sysram.current_player)
ram.screenstate = "protected"
return
end
@@ -408,8 +408,8 @@ laptop.register_app("celevator",{
end
local pos = mem.connections[mem.selectedconnection].pos
if celevator.dispatcher.isdispatcher(pos) then
- local meta = minetest.get_meta(pos)
- local dmem = minetest.deserialize(meta:get_string("mem"))
+ local meta = core.get_meta(pos)
+ local dmem = core.deserialize(meta:get_string("mem"))
if not dmem then return end
for k in pairs(fields) do
if string.sub(k,1,7) == "carcall" then
@@ -466,8 +466,8 @@ laptop.register_app("celevator",{
end
local pos = mem.connections[mem.selectedconnection].pos
if celevator.controller.iscontroller(pos) then
- local meta = minetest.get_meta(pos)
- local cmem = minetest.deserialize(meta:get_string("mem"))
+ local meta = core.get_meta(pos)
+ local cmem = core.deserialize(meta:get_string("mem"))
if not cmem then return end
local carcallacceptstates = {
normal = true,
diff --git a/mesecons.lua b/mesecons.lua
index f505649..9eaa6d8 100644
--- a/mesecons.lua
+++ b/mesecons.lua
@@ -477,7 +477,7 @@ local dinputoptions = {
}
local function updateoutputform(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local dmode = meta:get_int("dispatcher") == 1
local fs = "formspec_version[7]size[8,6.5]"
fs = fs.."tabheader[0,0;1;tab;Controller,Dispatcher;"..(dmode and "2" or "1")..";true;true]"
@@ -485,7 +485,7 @@ local function updateoutputform(pos)
local selected = 1
local currentid = meta:get_string("signal")
for k,v in ipairs(dmode and doutputoptions or outputoptions) do
- fs = fs..minetest.formspec_escape(v.desc)..","
+ fs = fs..core.formspec_escape(v.desc)..","
if v.id == currentid then selected = k end
end
fs = string.sub(fs,1,-2)
@@ -498,12 +498,12 @@ local function updateoutputform(pos)
end
local function handleoutputfields(pos,_,fields,player)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
if fields.quit and not fields.save then return end
local name = player:get_player_name()
- if minetest.is_protected(pos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
+ if core.is_protected(pos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
if player:is_player() then
- minetest.record_protection_violation(pos,name)
+ core.record_protection_violation(pos,name)
end
return
end
@@ -512,24 +512,24 @@ local function handleoutputfields(pos,_,fields,player)
if not tonumber(fields.carid) then return end
meta:set_int("carid",fields.carid)
local carid = tonumber(fields.carid)
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid))) or {}
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid))) or {}
if dmode then
if not carinfo.dispatcherpos then return end
if not celevator.dispatcher.isdispatcher(carinfo.dispatcherpos) then return end
- if minetest.is_protected(carinfo.dispatcherpos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
+ if core.is_protected(carinfo.dispatcherpos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
if player:is_player() then
- minetest.chat_send_player(name,"Can't connect to a dispatcher you don't have access to.")
- minetest.record_protection_violation(carinfo.dispatcherpos,name)
+ core.chat_send_player(name,"Can't connect to a dispatcher you don't have access to.")
+ core.record_protection_violation(carinfo.dispatcherpos,name)
end
return
end
else
if not carinfo.controllerpos then return end
if not celevator.controller.iscontroller(carinfo.controllerpos) then return end
- if minetest.is_protected(carinfo.controllerpos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
+ if core.is_protected(carinfo.controllerpos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
if player:is_player() then
- minetest.chat_send_player(name,"Can't connect to a controller you don't have access to.")
- minetest.record_protection_violation(carinfo.controllerpos,name)
+ core.chat_send_player(name,"Can't connect to a controller you don't have access to.")
+ core.record_protection_violation(carinfo.controllerpos,name)
end
return
end
@@ -559,7 +559,7 @@ local function handleoutputfields(pos,_,fields,player)
end
end
-minetest.register_node("celevator:mesecons_output_off",{
+core.register_node("celevator:mesecons_output_off",{
description = "Elevator Mesecons Output",
tiles = {
"celevator_meseconsoutput_top_off.png",
@@ -584,14 +584,14 @@ minetest.register_node("celevator:mesecons_output_off",{
},
},
after_place_node = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_int("floor",1)
updateoutputform(pos)
end,
on_receive_fields = handleoutputfields,
})
-minetest.register_node("celevator:mesecons_output_on",{
+core.register_node("celevator:mesecons_output_on",{
description = "Elevator Mesecons Output (on state - you hacker you!)",
tiles = {
"celevator_meseconsoutput_top_on.png",
@@ -618,25 +618,25 @@ minetest.register_node("celevator:mesecons_output_on",{
},
},
after_place_node = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_int("floor",1)
updateoutputform(pos)
end,
on_receive_fields = handleoutputfields,
})
-minetest.register_abm({
+core.register_abm({
label = "Update mesecons output",
nodenames = {"celevator:mesecons_output_off","celevator:mesecons_output_on",},
interval = 1,
chance = 1,
action = function(pos,node)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local dmode = meta:get_int("dispatcher") == 1
local oldstate = (node.name == "celevator:mesecons_output_on")
local carid = meta:get_int("carid")
if carid == 0 then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid))) or {}
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid))) or {}
if dmode then
if not carinfo.dispatcherpos then return end
if not celevator.dispatcher.isdispatcher(carinfo.dispatcherpos) then return end
@@ -645,7 +645,7 @@ minetest.register_abm({
if not celevator.controller.iscontroller(carinfo.controllerpos) then return end
end
local floor = meta:get_int("floor")
- local mem = minetest.deserialize(minetest.get_meta(dmode and carinfo.dispatcherpos or carinfo.controllerpos):get_string("mem")) or {}
+ local mem = core.deserialize(core.get_meta(dmode and carinfo.dispatcherpos or carinfo.controllerpos):get_string("mem")) or {}
local signal = meta:get_string("signal")
local def
for _,v in ipairs(dmode and doutputoptions or outputoptions) do
@@ -658,7 +658,7 @@ minetest.register_abm({
local newstate = def.func(mem,floor)
if newstate ~= oldstate then
node.name = (newstate and "celevator:mesecons_output_on" or "celevator:mesecons_output_off")
- minetest.swap_node(pos,node)
+ core.swap_node(pos,node)
if newstate then
mesecon.receptor_on(pos,iorules)
else
@@ -669,7 +669,7 @@ minetest.register_abm({
})
local function updateinputform(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local dmode = meta:get_int("dispatcher") == 1
local fs = "formspec_version[7]size[8,6.5]"
fs = fs.."tabheader[0,0;1;tab;Controller,Dispatcher;"..(dmode and "2" or "1")..";true;true]"
@@ -677,7 +677,7 @@ local function updateinputform(pos)
local selected = 1
local currentid = meta:get_string("signal")
for k,v in ipairs(dmode and dinputoptions or inputoptions) do
- fs = fs..minetest.formspec_escape(v.desc)..","
+ fs = fs..core.formspec_escape(v.desc)..","
if v.id == currentid then selected = k end
end
fs = string.sub(fs,1,-2)
@@ -691,11 +691,11 @@ end
local function handleinputfields(pos,_,fields,player)
if fields.quit and not fields.save then return end
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local name = player:get_player_name()
- if minetest.is_protected(pos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
+ if core.is_protected(pos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
if player:is_player() then
- minetest.record_protection_violation(pos,name)
+ core.record_protection_violation(pos,name)
end
return
end
@@ -704,24 +704,24 @@ local function handleinputfields(pos,_,fields,player)
if not tonumber(fields.carid) then return end
meta:set_int("carid",fields.carid)
local carid = tonumber(fields.carid)
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid))) or {}
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid))) or {}
if dmode then
if not carinfo.dispatcherpos then return end
if not celevator.dispatcher.isdispatcher(carinfo.dispatcherpos) then return end
- if minetest.is_protected(carinfo.dispatcherpos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
+ if core.is_protected(carinfo.dispatcherpos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
if player:is_player() then
- minetest.chat_send_player(name,"Can't connect to a dispatcher you don't have access to.")
- minetest.record_protection_violation(carinfo.dispatcherpos,name)
+ core.chat_send_player(name,"Can't connect to a dispatcher you don't have access to.")
+ core.record_protection_violation(carinfo.dispatcherpos,name)
end
return
end
else
if not carinfo.controllerpos then return end
if not celevator.controller.iscontroller(carinfo.controllerpos) then return end
- if minetest.is_protected(carinfo.controllerpos,name) and not minetest.check_player_privs(name,{protection_bypass=true}) then
+ if core.is_protected(carinfo.controllerpos,name) and not core.check_player_privs(name,{protection_bypass=true}) then
if player:is_player() then
- minetest.chat_send_player(name,"Can't connect to a controller you don't have access to.")
- minetest.record_protection_violation(carinfo.controllerpos,name)
+ core.chat_send_player(name,"Can't connect to a controller you don't have access to.")
+ core.record_protection_violation(carinfo.controllerpos,name)
end
return
end
@@ -752,10 +752,10 @@ local function handleinputfields(pos,_,fields,player)
end
local function handleinput(pos,on)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local carid = meta:get_int("carid")
if carid == 0 then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid))) or {}
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid))) or {}
local dmode = meta:get_int("dispatcher") == 1
if dmode then
if not carinfo.dispatcherpos then return end
@@ -789,7 +789,7 @@ local function handleinput(pos,on)
end
end
-minetest.register_node("celevator:mesecons_input_off",{
+core.register_node("celevator:mesecons_input_off",{
description = "Elevator Mesecons Input",
tiles = {
"celevator_meseconsinput_top_off.png",
@@ -812,20 +812,20 @@ minetest.register_node("celevator:mesecons_input_off",{
rules = iorules,
action_on = function(pos,node)
node.name = "celevator:mesecons_input_on"
- minetest.swap_node(pos,node)
+ core.swap_node(pos,node)
handleinput(pos,true)
end,
},
},
after_place_node = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_int("floor",1)
updateinputform(pos)
end,
on_receive_fields = handleinputfields,
})
-minetest.register_node("celevator:mesecons_input_on",{
+core.register_node("celevator:mesecons_input_on",{
description = "Elevator Mesecons Input (on state - you hacker you!)",
tiles = {
"celevator_meseconsinput_top_on.png",
@@ -850,13 +850,13 @@ minetest.register_node("celevator:mesecons_input_on",{
rules = iorules,
action_off = function(pos,node)
node.name = "celevator:mesecons_input_off"
- minetest.swap_node(pos,node)
+ core.swap_node(pos,node)
handleinput(pos,false)
end,
},
},
after_place_node = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_int("floor",1)
updateinputform(pos)
end,
diff --git a/pilantern.lua b/pilantern.lua
index a2ded98..5b2a7e4 100644
--- a/pilantern.lua
+++ b/pilantern.lua
@@ -8,33 +8,33 @@ local boringside = "[combine:64x64"..
":32,32=celevator_cabinet_sides.png"
local displaytex = boringside..":16,40=celevator_pi_background.png"
-minetest.register_entity("celevator:pi_entity",{
+core.register_entity("celevator:pi_entity",{
initial_properties = {
visual = "upright_sprite",
physical = false,
collisionbox = {0,0,0,0,0,0,},
textures = {"celevator_transparent.png",},
static_save = false,
- glow = minetest.LIGHT_MAX,
+ glow = core.LIGHT_MAX,
},
})
-minetest.register_entity("celevator:incar_pi_entity",{
+core.register_entity("celevator:incar_pi_entity",{
initial_properties = {
visual = "upright_sprite",
physical = false,
collisionbox = {0,0,0,0,0,0,},
textures = {"celevator_transparent.png",},
static_save = false,
- glow = minetest.LIGHT_MAX,
+ glow = core.LIGHT_MAX,
},
on_step = function(self)
if not self.object then return end
local pos = self.object:get_pos()
- if not minetest.compare_block_status(pos,"active") then return self.object:remove() end
+ if not core.compare_block_status(pos,"active") then return self.object:remove() end
local props = self.object:get_properties()
if props.breath_max and props.breath_max ~= 0 then
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",props.breath_max)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",props.breath_max)))
if not carinfo then return end
local text = carinfo.pitext or "--"
if string.len(text) < 3 then text = string.rep(" ",3-string.len(text))..text end
@@ -50,7 +50,7 @@ minetest.register_entity("celevator:incar_pi_entity",{
self.object:set_properties({textures = {etex}})
else
local carpos = vector.round(pos)
- local carmeta = minetest.get_meta(carpos)
+ local carmeta = core.get_meta(carpos)
local carid = carmeta:get_int("carid")
if carid > 0 then self.object:set_properties({breath_max=carid}) end
end
@@ -58,7 +58,7 @@ minetest.register_entity("celevator:incar_pi_entity",{
})
function celevator.pi.removeentity(pos)
- local entitiesnearby = minetest.get_objects_inside_radius(pos,0.5)
+ local entitiesnearby = core.get_objects_inside_radius(pos,0.5)
for _,i in pairs(entitiesnearby) do
if i:get_luaentity() and (i:get_luaentity().name == "celevator:pi_entity" or i:get_luaentity().name == "celevator:incar_pi_entity") then
i:remove()
@@ -82,16 +82,16 @@ end
function celevator.pi.updatedisplay(pos)
celevator.pi.removeentity(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local text = meta:get_string("text")
- local entity = minetest.add_entity(pos,"celevator:pi_entity")
- local fdir = minetest.facedir_to_dir(celevator.get_node(pos).param2)
+ local entity = core.add_entity(pos,"celevator:pi_entity")
+ local fdir = core.facedir_to_dir(celevator.get_node(pos).param2)
local uparrow = meta:get_int("uparrow") > 0
local downarrow = meta:get_int("downarrow") > 0
local flash_fs = meta:get_int("flash_fs") > 0
local flash_is = meta:get_int("flash_is") > 0
local flashtimer = meta:get_int("flashtimer") > 0
- local islantern = minetest.get_item_group(celevator.get_node(pos).name,"_celevator_lantern") == 1
+ local islantern = core.get_item_group(celevator.get_node(pos).name,"_celevator_lantern") == 1
local etex = celevator.pi.generatetexture(text,uparrow,downarrow,islantern)
if flash_fs then
if flashtimer then etex = celevator.pi.generatetexture(" FS",uparrow,downarrow,islantern) end
@@ -108,8 +108,8 @@ function celevator.pi.updatedisplay(pos)
end
function celevator.pi.flash(pos,what)
- if minetest.get_item_group(celevator.get_node(pos).name,"_celevator_pi") ~= 1 then return end
- local meta = minetest.get_meta(pos)
+ if core.get_item_group(celevator.get_node(pos).name,"_celevator_pi") ~= 1 then return end
+ local meta = core.get_meta(pos)
if what == "FS" then
meta:set_int("flash_is",0)
meta:set_int("flash_fs",1)
@@ -125,8 +125,8 @@ end
function celevator.pi.settext(pos,text)
if not text then text = " --" end
- if minetest.get_item_group(celevator.get_node(pos).name,"_celevator_pi") ~= 1 then return end
- local meta = minetest.get_meta(pos)
+ if core.get_item_group(celevator.get_node(pos).name,"_celevator_pi") ~= 1 then return end
+ local meta = core.get_meta(pos)
if string.len(text) < 3 then
text = string.rep(" ",3-string.len(text))..text
end
@@ -135,8 +135,8 @@ function celevator.pi.settext(pos,text)
end
function celevator.pi.setarrow(pos,which,active)
- if minetest.get_item_group(celevator.get_node(pos).name,"_celevator_pi") ~= 1 then return end
- local meta = minetest.get_meta(pos)
+ if core.get_item_group(celevator.get_node(pos).name,"_celevator_pi") ~= 1 then return end
+ local meta = core.get_meta(pos)
if which == "up" then
meta:set_int("uparrow",active and 1 or 0)
elseif which == "down" then
@@ -145,7 +145,7 @@ function celevator.pi.setarrow(pos,which,active)
celevator.pi.updatedisplay(pos)
end
-minetest.register_node("celevator:pi",{
+core.register_node("celevator:pi",{
description = "Elevator Position Indicator",
groups = {
dig_immediate = 2,
@@ -171,17 +171,17 @@ minetest.register_node("celevator:pi",{
},
},
after_place_node = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_string("formspec","formspec_version[7]size[8,5]field[0.5,0.5;7,1;carid;Car ID;]button[3,3.5;2,1;save;Save]")
end,
on_receive_fields = function(pos,_,fields)
if tonumber(fields.carid) then
local carid = tonumber(fields.carid)
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not (carinfo and carinfo.pis) then return end
table.insert(carinfo.pis,{pos=pos})
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
- local meta = minetest.get_meta(pos)
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
+ local meta = core.get_meta(pos)
meta:set_int("carid",carid)
meta:set_string("formspec","")
celevator.pi.settext(pos,carinfo.pitext)
@@ -189,20 +189,20 @@ minetest.register_node("celevator:pi",{
end,
on_destruct = function(pos)
celevator.pi.removeentity(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local carid = meta:get_int("carid")
if carid == 0 then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not (carinfo and carinfo.pis) then return end
for i,pi in pairs(carinfo.pis) do
if vector.equals(pos,pi.pos) then
table.remove(carinfo.pis,i)
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
end
end
end,
on_construct = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_string("text","--")
celevator.pi.updatedisplay(pos)
end,
@@ -210,49 +210,49 @@ minetest.register_node("celevator:pi",{
function celevator.lantern.setlight(pos,dir,newstate)
local node = celevator.get_node(pos)
- if minetest.get_item_group(node.name,"_celevator_lantern") ~= 1 then return end
+ if core.get_item_group(node.name,"_celevator_lantern") ~= 1 then return end
if dir == "up" then
- if minetest.get_item_group(node.name,"_celevator_lantern_has_up") ~= 1 then return end
- local lit = minetest.get_item_group(node.name,"_celevator_lantern_up_lit") == 1
+ if core.get_item_group(node.name,"_celevator_lantern_has_up") ~= 1 then return end
+ local lit = core.get_item_group(node.name,"_celevator_lantern_up_lit") == 1
if lit == newstate then return end
local newname = "celevator:lantern_"
- if minetest.get_item_group(node.name,"_celevator_pi") == 1 then newname = "celevator:pilantern_" end
- if minetest.get_item_group(node.name,"_celevator_lantern_vertical") == 1 then newname = "celevator:lantern_vertical_" end
- if minetest.get_item_group(node.name,"_celevator_lantern_has_down") == 1 then
+ if core.get_item_group(node.name,"_celevator_pi") == 1 then newname = "celevator:pilantern_" end
+ if core.get_item_group(node.name,"_celevator_lantern_vertical") == 1 then newname = "celevator:lantern_vertical_" end
+ if core.get_item_group(node.name,"_celevator_lantern_has_down") == 1 then
newname = newname.."both"
else
newname = newname.."up"
end
if newstate then
newname = newname.."_upon"
- minetest.sound_play("celevator_chime_up",{pos = pos},true)
+ core.sound_play("celevator_chime_up",{pos = pos},true)
end
- if minetest.get_item_group(node.name,"_celevator_lantern_down_lit") == 1 then
+ if core.get_item_group(node.name,"_celevator_lantern_down_lit") == 1 then
newname = newname.."_downon"
end
node.name = newname
- minetest.swap_node(pos,node)
+ core.swap_node(pos,node)
elseif dir == "down" then
- if minetest.get_item_group(node.name,"_celevator_lantern_has_down") ~= 1 then return end
- local lit = minetest.get_item_group(node.name,"_celevator_lantern_down_lit") == 1
+ if core.get_item_group(node.name,"_celevator_lantern_has_down") ~= 1 then return end
+ local lit = core.get_item_group(node.name,"_celevator_lantern_down_lit") == 1
if lit == newstate then return end
local newname = "celevator:lantern_"
- if minetest.get_item_group(node.name,"_celevator_pi") == 1 then newname = "celevator:pilantern_" end
- if minetest.get_item_group(node.name,"_celevator_lantern_vertical") == 1 then newname = "celevator:lantern_vertical_" end
- if minetest.get_item_group(node.name,"_celevator_lantern_has_up") == 1 then
+ if core.get_item_group(node.name,"_celevator_pi") == 1 then newname = "celevator:pilantern_" end
+ if core.get_item_group(node.name,"_celevator_lantern_vertical") == 1 then newname = "celevator:lantern_vertical_" end
+ if core.get_item_group(node.name,"_celevator_lantern_has_up") == 1 then
newname = newname.."both"
else
newname = newname.."down"
end
- if minetest.get_item_group(node.name,"_celevator_lantern_up_lit") == 1 then
+ if core.get_item_group(node.name,"_celevator_lantern_up_lit") == 1 then
newname = newname.."_upon"
end
if newstate then
newname = newname.."_downon"
- minetest.sound_play("celevator_chime_down",{pos = pos},true)
+ core.sound_play("celevator_chime_down",{pos = pos},true)
end
node.name = newname
- minetest.swap_node(pos,node)
+ core.swap_node(pos,node)
end
end
@@ -353,7 +353,7 @@ for _,state in ipairs(validstates) do
end
local idle = not (state[2] or state[3])
local description = string.format("Elevator %s Position Indicator/Lantern Combo%s",state[4],(idle and "" or " (on state, you hacker you!)"))
- minetest.register_node(nname,{
+ core.register_node(nname,{
description = description,
groups = {
dig_immediate = 2,
@@ -386,19 +386,19 @@ for _,state in ipairs(validstates) do
},
},
after_place_node = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_string("formspec","formspec_version[7]size[8,5]field[0.5,0.5;7,1;carid;Car ID;]field[0.5,2;7,1;landing;Landing Number;]button[3,3.5;2,1;save;Save]")
end,
on_receive_fields = function(pos,_,fields)
if tonumber(fields.carid) and tonumber(fields.landing) then
local carid = tonumber(fields.carid)
local landing = tonumber(fields.landing)
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not (carinfo and carinfo.pis and carinfo.lanterns) then return end
table.insert(carinfo.pis,{pos=pos})
table.insert(carinfo.lanterns,{pos=pos,landing=landing})
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
- local meta = minetest.get_meta(pos)
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
+ local meta = core.get_meta(pos)
meta:set_int("carid",carid)
meta:set_string("formspec","")
celevator.pi.settext(pos,carinfo.pitext)
@@ -406,26 +406,26 @@ for _,state in ipairs(validstates) do
end,
on_destruct = function(pos)
celevator.pi.removeentity(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local carid = meta:get_int("carid")
if carid == 0 then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not (carinfo and carinfo.pis and carinfo.lanterns) then return end
for i,pi in pairs(carinfo.pis) do
if vector.equals(pos,pi.pos) then
table.remove(carinfo.pis,i)
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
end
end
for i,lantern in pairs(carinfo.lanterns) do
if vector.equals(pos,lantern.pos) then
table.remove(carinfo.lanterns,i)
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
end
end
end,
on_construct = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_string("text","--")
celevator.pi.updatedisplay(pos)
end,
@@ -436,7 +436,7 @@ for _,state in ipairs(validstates) do
if state[3] then nname = nname.."_downon" end
idle = not (state[2] or state[3])
description = string.format("Elevator %s Lantern%s",state[4],(idle and "" or " (on state, you hacker you!)"))
- minetest.register_node(nname,{
+ core.register_node(nname,{
description = description,
inventory_image = string.format("[combine:32x32:0,5=celevator_lantern_background_%s.png",(state[1] == "both" and "updown" or state[1])),
groups = {
@@ -458,32 +458,32 @@ for _,state in ipairs(validstates) do
makelanterntex(state[1],state[2],state[3])
},
after_place_node = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_string("formspec","formspec_version[7]size[8,5]field[0.5,0.5;7,1;carid;Car ID;]field[0.5,2;7,1;landing;Landing Number;]button[3,3.5;2,1;save;Save]")
end,
on_receive_fields = function(pos,_,fields)
if tonumber(fields.carid) and tonumber(fields.landing) then
local carid = tonumber(fields.carid)
local landing = tonumber(fields.landing)
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not (carinfo and carinfo.lanterns) then return end
table.insert(carinfo.lanterns,{pos=pos,landing=landing})
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
- local meta = minetest.get_meta(pos)
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
+ local meta = core.get_meta(pos)
meta:set_int("carid",carid)
meta:set_string("formspec","")
end
end,
on_destruct = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local carid = meta:get_int("carid")
if carid == 0 then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not (carinfo and carinfo.lanterns) then return end
for i,lantern in pairs(carinfo.lanterns) do
if vector.equals(pos,lantern.pos) then
table.remove(carinfo.lanterns,i)
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
end
end
end,
@@ -503,7 +503,7 @@ for _,state in ipairs(validstates) do
if state[2] then nname = nname.."_upon" end
if state[3] then nname = nname.."_downon" end
description = string.format("Elevator %s Lantern (vertical)%s",state[4],(idle and "" or " (on state, you hacker you!)"))
- minetest.register_node(nname,{
+ core.register_node(nname,{
description = description,
inventory_image = string.format("[combine:40x40:10,0=celevator_lantern_vertical_background_%s.png",(state[1] == "both" and "updown" or state[1])),
groups = {
@@ -526,32 +526,32 @@ for _,state in ipairs(validstates) do
makeverticallanterntex(state[1],state[2],state[3])
},
after_place_node = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
meta:set_string("formspec","formspec_version[7]size[8,5]field[0.5,0.5;7,1;carid;Car ID;]field[0.5,2;7,1;landing;Landing Number;]button[3,3.5;2,1;save;Save]")
end,
on_receive_fields = function(pos,_,fields)
if tonumber(fields.carid) and tonumber(fields.landing) then
local carid = tonumber(fields.carid)
local landing = tonumber(fields.landing)
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not (carinfo and carinfo.lanterns) then return end
table.insert(carinfo.lanterns,{pos=pos,landing=landing})
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
- local meta = minetest.get_meta(pos)
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
+ local meta = core.get_meta(pos)
meta:set_int("carid",carid)
meta:set_string("formspec","")
end
end,
on_destruct = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local carid = meta:get_int("carid")
if carid == 0 then return end
- local carinfo = minetest.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
+ local carinfo = core.deserialize(celevator.storage:get_string(string.format("car%d",carid)))
if not (carinfo and carinfo.lanterns) then return end
for i,lantern in pairs(carinfo.lanterns) do
if vector.equals(pos,lantern.pos) then
table.remove(carinfo.lanterns,i)
- celevator.storage:set_string(string.format("car%d",carid),minetest.serialize(carinfo))
+ celevator.storage:set_string(string.format("car%d",carid),core.serialize(carinfo))
end
end
end,
@@ -568,29 +568,29 @@ for _,state in ipairs(validstates) do
})
end
-minetest.register_abm({
+core.register_abm({
label = "Respawn / Flash PI displays",
nodenames = {"group:_celevator_pi"},
interval = 1,
chance = 1,
action = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local flashtimer = meta:get_int("flashtimer") > 0
meta:set_int("flashtimer",flashtimer and 0 or 1)
celevator.pi.updatedisplay(pos)
end,
})
-minetest.register_abm({
+core.register_abm({
label = "Check PIs/lanterns for missing/replaced controllers",
nodenames = {"group:_celevator_pi","group:_celevator_lantern"},
interval = 15,
chance = 1,
action = function(pos)
- local meta = minetest.get_meta(pos)
+ local meta = core.get_meta(pos)
local carid = meta:get_int("carid")
if not (carid and carid > 0) then return end --Not set up yet
- local carinfo = minetest.deserialize(celevator.storage:get_string("car"..carid))
+ local carinfo = core.deserialize(celevator.storage:get_string("car"..carid))
if not carinfo then
celevator.pi.settext(pos," --")
meta:set_string("infotext","Error reading car information!\nPlease remove and replace this node.")