Skip to content

Commit 5943653

Browse files
t4imparamat
authored andcommittedJul 9, 2016
Doors: Remove unnecessary node lookups
1 parent 71c7e21 commit 5943653

File tree

1 file changed

+11
-13
lines changed

1 file changed

+11
-13
lines changed
 

‎mods/doors/init.lua

+11-13
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ _doors.registered_trapdoors = {}
1616

1717
-- returns an object to a door object or nil
1818
function doors.get(pos)
19-
if _doors.registered_doors[minetest.get_node(pos).name] then
19+
local node_name = minetest.get_node(pos).name
20+
if _doors.registered_doors[node_name] then
2021
-- A normal upright door
2122
return {
2223
pos = pos,
@@ -40,7 +41,7 @@ function doors.get(pos)
4041
return state %2 == 1
4142
end
4243
}
43-
elseif _doors.registered_trapdoors[minetest.get_node(pos).name] then
44+
elseif _doors.registered_trapdoors[node_name] then
4445
-- A trapdoor
4546
return {
4647
pos = pos,
@@ -60,8 +61,7 @@ function doors.get(pos)
6061
return _doors.trapdoor_toggle(self.pos, player)
6162
end,
6263
state = function(self)
63-
local name = minetest.get_node(pos).name
64-
return name:sub(-5) == "_open"
64+
return node_name:sub(-5) == "_open"
6565
end
6666
}
6767
else
@@ -129,15 +129,15 @@ local transform = {
129129
},
130130
}
131131

132-
function _doors.door_toggle(pos, clicker)
132+
function _doors.door_toggle(pos, node, clicker)
133133
local meta = minetest.get_meta(pos)
134-
local def = minetest.registered_nodes[minetest.get_node(pos).name]
134+
local def = minetest.registered_nodes[node.name]
135135
local name = def.door.name
136136

137137
local state = meta:get_string("state")
138138
if state == "" then
139139
-- fix up lvm-placed right-hinged doors, default closed
140-
if minetest.get_node(pos).name:sub(-2) == "_b" then
140+
if node.name:sub(-2) == "_b" then
141141
state = 2
142142
else
143143
state = 0
@@ -163,7 +163,7 @@ function _doors.door_toggle(pos, clicker)
163163
state = state + 1
164164
end
165165

166-
local dir = minetest.get_node(pos).param2
166+
local dir = node.param2
167167
if state % 2 == 0 then
168168
minetest.sound_play(def.door.sounds[1],
169169
{pos = pos, gain = 0.3, max_hear_distance = 10})
@@ -374,7 +374,7 @@ function doors.register(name, def)
374374
}
375375

376376
def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
377-
_doors.door_toggle(pos, clicker)
377+
_doors.door_toggle(pos, node, clicker)
378378
return itemstack
379379
end
380380
def.after_dig_node = function(pos, node, meta, digger)
@@ -507,7 +507,7 @@ end
507507

508508
----trapdoor----
509509

510-
function _doors.trapdoor_toggle(pos, clicker)
510+
function _doors.trapdoor_toggle(pos, node, clicker)
511511
if clicker and not minetest.check_player_privs(clicker, "protection_bypass") then
512512
local meta = minetest.get_meta(pos)
513513
local owner = meta:get_string("doors_owner")
@@ -518,7 +518,6 @@ function _doors.trapdoor_toggle(pos, clicker)
518518
end
519519
end
520520

521-
local node = minetest.get_node(pos)
522521
local def = minetest.registered_nodes[node.name]
523522

524523
if string.sub(node.name, -5) == "_open" then
@@ -549,7 +548,7 @@ function doors.register_trapdoor(name, def)
549548
end
550549

551550
def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
552-
_doors.trapdoor_toggle(pos, clicker)
551+
_doors.trapdoor_toggle(pos, node, clicker)
553552
return itemstack
554553
end
555554

@@ -684,7 +683,6 @@ function doors.register_fencegate(name, def)
684683
groups = def.groups,
685684
sounds = def.sounds,
686685
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
687-
local node = minetest.get_node(pos)
688686
local node_def = minetest.registered_nodes[node.name]
689687
minetest.swap_node(pos, {name = node_def.gate, param2 = node.param2})
690688
minetest.sound_play(node_def.sound, {pos = pos, gain = 0.3,

0 commit comments

Comments
 (0)
Please sign in to comment.