aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.editorconfig5
-rw-r--r--components.lua36
-rw-r--r--crafts.lua34
-rw-r--r--formspecs.lua2
-rw-r--r--helpers.lua4
-rw-r--r--hooks.lua6
-rw-r--r--init.lua21
-rw-r--r--mod.conf4
8 files changed, 80 insertions, 32 deletions
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..6e3c965
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,5 @@
+root = true
+
+[*]
+indent_style = space
+indent_size = 4
diff --git a/components.lua b/components.lua
index b0d997b..8f72848 100644
--- a/components.lua
+++ b/components.lua
@@ -5,6 +5,7 @@ local get_node = elevator.get_node
local homedecor_path = minetest.get_modpath("homedecor")
local mineclone_path = core.get_modpath("mcl_core") and mcl_core
local default_path = core.get_modpath("default") and default
+local aurum_path = core.get_modpath("aurum") and aurum
local moditems = {} -- local table to hold substitutes
@@ -46,7 +47,7 @@ if mineclone_path then
moditems.el_motor_gfx = "elevator_motor_mcl.png"
moditems.el_shaft_gfx = "elevator_shaft_mcl.png"
moditems.el_box_gfx = "elevator_box_mcl.png"
-
+ moditems.steel_block_image = "default_steel_block.png"
elseif default_path then
moditems.el_shaft_groups = {cracky=2,oddly_breakable_by_hand=0} -- removing ability to destroy by hand to prevent accidental breakage of whole elevators
moditems.el_motor_groups = {cracky=1}
@@ -56,6 +57,21 @@ elseif default_path then
moditems.el_motor_gfx = "elevator_motor.png"
moditems.el_shaft_gfx = "elevator_shaft.png"
moditems.el_box_gfx = "elevator_box.png"
+ moditems.steel_block_image = "default_steel_block.png"
+elseif aurum_path then
+ moditems.el_shaft_groups = {dig_pick = 2}
+ moditems.el_motor_groups = {dig_pick = 1}
+ moditems.elevator_groups = {dig_pick = 1}
+ moditems.elevator_special_groups = {not_in_creative_inventory=1}
+ moditems.sounds_stone = aurum.sounds.stone
+ moditems.el_motor_gfx = "elevator_motor.png"
+ moditems.el_shaft_gfx = "elevator_shaft.png"
+ moditems.el_box_gfx = "elevator_box.png"
+ moditems.steel_block_image = "aurum_ore_white.png^[colorize:#cbcdcd:255^aurum_ore_bumps.png^aurum_ore_block.png"
+end
+
+if minetest.global_exists("screwdriver") then
+ moditems.on_rotate_disallow = screwdriver.disallow
end
minetest.register_node("elevator:shaft", {
@@ -63,7 +79,7 @@ minetest.register_node("elevator:shaft", {
tiles = { moditems.el_shaft_gfx },
drawtype = "nodebox",
paramtype = "light",
- on_rotate = screwdriver.disallow,
+ on_rotate = moditems.on_rotate_disallow,
sunlight_propagates = true,
groups = moditems.el_shaft_groups,
sounds = moditems.sounds_stone(),
@@ -100,8 +116,8 @@ minetest.register_node("elevator:shaft", {
minetest.register_node("elevator:motor", {
description = "Elevator Motor",
tiles = {
- "default_steel_block.png",
- "default_steel_block.png",
+ moditems.steel_block_image,
+ moditems.steel_block_image,
moditems.el_motor_gfx,
moditems.el_motor_gfx,
moditems.el_motor_gfx,
@@ -162,8 +178,8 @@ minetest.register_node("elevator:elevator_box", {
},
tiles = {
- "default_steel_block.png",
- "default_steel_block.png",
+ moditems.steel_block_image,
+ moditems.steel_block_image,
moditems.el_box_gfx,
moditems.el_box_gfx,
moditems.el_box_gfx,
@@ -212,7 +228,7 @@ for _,mode in ipairs({"on", "off"}) do
sunlight_propagates = false,
paramtype = "light",
paramtype2 = "facedir",
- on_rotate = screwdriver.disallow,
+ on_rotate = moditems.on_rotate_disallow,
selection_box = {
type = "fixed",
@@ -230,8 +246,8 @@ for _,mode in ipairs({"on", "off"}) do
},
tiles = on and {
- "default_steel_block.png",
- "default_steel_block.png",
+ moditems.steel_block_image,
+ moditems.steel_block_image,
moditems.el_box_gfx,
moditems.el_box_gfx,
moditems.el_box_gfx,
@@ -288,7 +304,7 @@ for _,mode in ipairs({"on", "off"}) do
elevator.formspecs[sender:get_player_name()] = {pos}
local motorhash = meta:get_string("motor")
if on and elevator.motors[motorhash] then
- if vector.distance(sender:getpos(), pos) > 1 or minetest.get_node(sender:getpos()).name ~= nodename then
+ if vector.distance(sender:get_pos(), pos) > 1 or minetest.get_node(sender:get_pos()).name ~= nodename then
minetest.chat_send_player(sender:get_player_name(), "You are not inside the booth.")
return
end
diff --git a/crafts.lua b/crafts.lua
index 09c75c9..e78bd48 100644
--- a/crafts.lua
+++ b/crafts.lua
@@ -2,10 +2,11 @@
local technic_path = minetest.get_modpath("technic")
local chains_path = minetest.get_modpath("chains")
local mineclone_path = core.get_modpath("mcl_core") and mcl_core
+local aurum_path = core.get_modpath("aurum") and aurum
if mineclone_path then
minetest.register_craft({
- output = "elevator:elevator",
+ output = "elevator:elevator_off",
recipe = {
{"mcl_core:iron_ingot", "mcl_core:paper", "mcl_core:iron_ingot"},
{"mcl_core:iron_ingot", "mcl_core:gold_ingot", "mcl_core:iron_ingot"},
@@ -29,10 +30,35 @@ if mineclone_path then
{"mcl_core:paper", "mcl_core:gold_ingot", "mcl_core:paper"}
},
})
+elseif aurum_path then
+ minetest.register_craft({
+ output = "elevator:elevator_off",
+ recipe = {
+ {"aurum_ore:iron_ingot", "group:glass", "aurum_ore:iron_ingot"},
+ {"aurum_ore:iron_ingot", "aurum_ore:mana_bean", "aurum_ore:iron_ingot"},
+ {"aurum_ore:iron_ingot", "group:glass", "aurum_ore:iron_ingot"},
+ },
+ })
+ minetest.register_craft({
+ output = "elevator:shaft",
+ recipe = {
+ {"group:glass", "aurum_ore:iron_ingot"},
+ {"group:wood", "group:glass"},
+ },
+ })
+
+ minetest.register_craft({
+ output = "elevator:motor",
+ recipe = {
+ {"aurum_ore:gold_ingot", "aurum_ore:iron_ingot", "aurum_ore:gold_ingot"},
+ {"aurum_ore:iron_block", "aurum_cook:oven", "aurum_ore:iron_block"},
+ {"aurum_ore:gold_ingot", "aurum_ore:mana_bean", "aurum_ore:gold_ingot"}
+ },
+ })
elseif technic_path and chains_path then
minetest.register_craft({
- output = "elevator:elevator",
+ output = "elevator:elevator_off",
recipe = {
{"technic:cast_iron_ingot", "chains:chain", "technic:cast_iron_ingot"},
{"technic:cast_iron_ingot", "default:mese_crystal", "technic:cast_iron_ingot"},
@@ -59,7 +85,7 @@ elseif technic_path and chains_path then
elseif technic_path and farming and farming.mod and ( farming.mod == "redo" or farming.mod == "undo" ) then
-- add alternative recipe with hemp rope
minetest.register_craft({
- output = "elevator:elevator",
+ output = "elevator:elevator_off",
recipe = {
{"technic:cast_iron_ingot", "farming:hemp_rope", "technic:cast_iron_ingot"},
{"technic:cast_iron_ingot", "default:mese_crystal", "technic:cast_iron_ingot"},
@@ -88,7 +114,7 @@ elseif technic_path and farming and farming.mod and ( farming.mod == "redo" or f
-- Recipes for default dependency fallback.
else
minetest.register_craft({
- output = "elevator:elevator",
+ output = "elevator:elevator_off",
recipe = {
{"default:steel_ingot", "farming:cotton", "default:steel_ingot"},
{"default:steel_ingot", "default:mese_crystal", "default:steel_ingot"},
diff --git a/formspecs.lua b/formspecs.lua
index 64bd020..ecb6ebe 100644
--- a/formspecs.lua
+++ b/formspecs.lua
@@ -22,7 +22,7 @@ minetest.register_on_player_receive_fields(function(sender, formname, fields)
return true
end
-- Double check if it's ok to go.
- if vector.distance(sender:getpos(), pos) > 1 then
+ if vector.distance(sender:get_pos(), pos) > 1 then
return true
end
if fields.target then
diff --git a/helpers.lua b/helpers.lua
index 2df4253..5215c1a 100644
--- a/helpers.lua
+++ b/helpers.lua
@@ -7,7 +7,7 @@ elevator.teleport_player_from_elevator = function(player)
end
return minetest.registered_nodes[minetest.get_node(pos).name].walkable
end
- local pos = vector.round(player:getpos())
+ local pos = vector.round(player:get_pos())
local node = minetest.get_node(pos)
-- elevator_off is like a shaft, so the player would already be falling.
if node.name == "elevator:elevator_on" then
@@ -16,7 +16,7 @@ elevator.teleport_player_from_elevator = function(player)
-- local front_below = vector.subtract(front, {x=0, y=1, z=0})
-- If the front isn't solid, it's ok to teleport the player.
if not solid(front) and not solid(front_above) then
- player:setpos(front)
+ player:set_pos(front)
end
end
end
diff --git a/hooks.lua b/hooks.lua
index 609f0e9..af84b43 100644
--- a/hooks.lua
+++ b/hooks.lua
@@ -12,7 +12,7 @@ minetest.register_globalstep(function(dtime)
-- Only count riders who are still logged in.
local newriding = {}
for _,p in ipairs(minetest.get_connected_players()) do
- local pos = p:getpos()
+ local pos = p:get_pos()
local name = p:get_player_name()
newriding[name] = elevator.riding[name]
-- If the player is indeed riding, update their position.
@@ -23,7 +23,7 @@ minetest.register_globalstep(function(dtime)
elevator.riding = newriding
for name,r in pairs(elevator.riding) do
-- If the box is no longer loaded or existent, create another.
- local ok = r.box and r.box.getpos and r.box:getpos() and r.box:get_luaentity() and r.box:get_luaentity().attached == name
+ local ok = r.box and r.box.get_pos and r.box:get_pos() and r.box:get_luaentity() and r.box:get_luaentity().attached == name
if not ok then
minetest.log("action", "[elevator] "..minetest.pos_to_string(r.pos).." created due to lost rider.")
minetest.after(0, elevator.create_box, r.motor, r.pos, r.target, minetest.get_player_by_name(name))
@@ -36,7 +36,7 @@ minetest.register_globalstep(function(dtime)
end
elevator.lastboxes[motor] = elevator.lastboxes[motor] and math.min(elevator.lastboxes[motor], elevator.PTIMEOUT) or elevator.PTIMEOUT
elevator.lastboxes[motor] = math.max(elevator.lastboxes[motor] - 1, 0)
- local pos = obj:getpos()
+ local pos = obj:get_pos()
if pos then
for _,object in ipairs(minetest.get_objects_inside_radius(pos, 5)) do
if object.is_player and object:is_player() then
diff --git a/init.lua b/init.lua
index 68f79d4..5087d72 100644
--- a/init.lua
+++ b/init.lua
@@ -34,9 +34,9 @@ local get_node = elevator.get_node
elevator.create_box = function(motorhash, pos, target, sender)
-- First create the box.
local obj = minetest.add_entity(pos, "elevator:box")
- obj:setpos(pos)
+ obj:set_pos(pos)
-- Attach the player.
- sender:setpos(pos)
+ sender:set_pos(pos)
sender:set_attach(obj, "", {x=0, y=9, z=0}, {x=0, y=0, z=0})
sender:set_eye_offset({x=0, y=-9, z=0},{x=0, y=-9, z=0})
sender:set_properties({visual_size = {x=elevator.VISUAL_INCREASE, y=elevator.VISUAL_INCREASE}})
@@ -61,8 +61,9 @@ elevator.create_box = function(motorhash, pos, target, sender)
end
-- Set the speed.
- obj:setvelocity({x=0, y=speed*obj:get_luaentity().vmult, z=0})
- obj:setacceleration({x=0, y=elevator.ACCEL*obj:get_luaentity().vmult, z=0})
+ obj:set_velocity({x=0, y=speed*obj:get_luaentity().vmult, z=0})
+ obj:set_acceleration({x=0, y=elevator.ACCEL*obj:get_luaentity().vmult, z=0})
+
-- Set the tables.
elevator.boxes[motorhash] = obj
elevator.riding[sender:get_player_name()] = {
@@ -175,11 +176,11 @@ elevator.unbuild = function(pos, add)
local motorhash = elevator.locate_motor(p2)
elevator.build_motor(motorhash)
-- If there's a box below this point, break it.
- if elevator.boxes[motorhash] and elevator.boxes[motorhash]:getpos() and p2.y >= elevator.boxes[motorhash]:getpos().y then
+ if elevator.boxes[motorhash] and elevator.boxes[motorhash]:get_pos() and p2.y >= elevator.boxes[motorhash]:get_pos().y then
elevator.boxes[motorhash] = nil
end
-- If the box does not exist, just clear it.
- if elevator.boxes[motorhash] and not elevator.boxes[motorhash]:getpos() then
+ if elevator.boxes[motorhash] and not elevator.boxes[motorhash]:get_pos() then
elevator.boxes[motorhash] = nil
end
end, table.copy(pos), add)
@@ -244,9 +245,9 @@ local function detach(self, pos)
armor:update_player_visuals(player)
end
if pos then
- player:setpos(pos)
+ player:set_pos(pos)
minetest.after(0.1, function(pl, p)
- pl:setpos(p)
+ pl:set_pos(p)
end, player, pos)
end
elevator.riding[self.attached] = nil
@@ -274,7 +275,7 @@ local box_entity = {
end,
on_step = function(self, dtime)
- local pos = self.object:getpos()
+ local pos = self.object:get_pos()
-- First, check if this box needs removed.
-- If the motor has a box and it isn't this box.
if elevator.boxes[self.motor] and elevator.boxes[self.motor] ~= self.object then
@@ -305,7 +306,7 @@ local box_entity = {
return
end
- minetest.get_player_by_name(self.attached):setpos(pos)
+ minetest.get_player_by_name(self.attached):set_pos(pos)
-- Ensure lastpos is set to something.
self.lastpos = self.lastpos or pos
diff --git a/mod.conf b/mod.conf
index 99537e3..5b00433 100644
--- a/mod.conf
+++ b/mod.conf
@@ -1,3 +1,3 @@
name = elevator
-description = An entity-based elevator allowing fast realtime travel in Minetest. Supports Minetest Game and MineClone2.
-optional_depends = default, technic, homedecor, chains, farming, mcl_core, mcl_sounds
+description = An entity-based elevator allowing fast realtime travel in Minetest. Supports Minetest Game, MineClone2, and Aurum
+optional_depends = default, technic, homedecor, chains, farming, mcl_core, mcl_sounds, aurum, screwdriver