diff options
| -rw-r--r-- | .luacheckrc | 2 | ||||
| -rw-r--r-- | callbuttons.lua | 56 | ||||
| -rw-r--r-- | car.lua | 104 | ||||
| -rw-r--r-- | car_glassback.lua | 34 | ||||
| -rw-r--r-- | car_metal.lua | 34 | ||||
| -rw-r--r-- | car_metalglass.lua | 34 | ||||
| -rw-r--r-- | car_standard.lua | 38 | ||||
| -rw-r--r-- | chatcommands.lua | 38 | ||||
| -rw-r--r-- | controller.lua | 162 | ||||
| -rw-r--r-- | controllerfw.lua | 44 | ||||
| -rw-r--r-- | crafts.lua | 112 | ||||
| -rw-r--r-- | dbdkiosk.lua | 42 | ||||
| -rw-r--r-- | decorations.lua | 68 | ||||
| -rw-r--r-- | digilines.lua | 52 | ||||
| -rw-r--r-- | dispatcher.lua | 138 | ||||
| -rw-r--r-- | dispatcherfw.lua | 38 | ||||
| -rw-r--r-- | doors.lua | 232 | ||||
| -rw-r--r-- | drive_entity.lua | 318 | ||||
| -rw-r--r-- | drive_null.lua | 66 | ||||
| -rw-r--r-- | framework.lua | 12 | ||||
| -rw-r--r-- | fs1switch.lua | 54 | ||||
| -rw-r--r-- | genericswitch.lua | 76 | ||||
| -rw-r--r-- | governor.lua | 30 | ||||
| -rw-r--r-- | init.lua | 4 | ||||
| -rw-r--r-- | laptop.lua | 74 | ||||
| -rw-r--r-- | mesecons.lua | 82 | ||||
| -rw-r--r-- | pilantern.lua | 150 |
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 @@ -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) @@ -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)) @@ -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"}, @@ -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 @@ -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.") |
