Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
M
minetest_game
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Zadrog Pzvotrügen
minetest_game
Commits
0c122236
Commit
0c122236
authored
8 years ago
by
Tim
Committed by
Milan
8 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Doors: Remove unnecessary node lookups
parent
2052664a
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
mods/doors/init.lua
+11
-13
11 additions, 13 deletions
mods/doors/init.lua
with
11 additions
and
13 deletions
mods/doors/init.lua
+
11
−
13
View file @
0c122236
...
...
@@ -16,7 +16,8 @@ _doors.registered_trapdoors = {}
-- returns an object to a door object or nil
function
doors
.
get
(
pos
)
if
_doors
.
registered_doors
[
minetest
.
get_node
(
pos
).
name
]
then
local
node_name
=
minetest
.
get_node
(
pos
).
name
if
_doors
.
registered_doors
[
node_name
]
then
-- A normal upright door
return
{
pos
=
pos
,
...
...
@@ -40,7 +41,7 @@ function doors.get(pos)
return
state
%
2
==
1
end
}
elseif
_doors
.
registered_trapdoors
[
minetest
.
get_node
(
pos
).
name
]
then
elseif
_doors
.
registered_trapdoors
[
node_
name
]
then
-- A trapdoor
return
{
pos
=
pos
,
...
...
@@ -60,8 +61,7 @@ function doors.get(pos)
return
_doors
.
trapdoor_toggle
(
self
.
pos
,
player
)
end
,
state
=
function
(
self
)
local
name
=
minetest
.
get_node
(
pos
).
name
return
name
:
sub
(
-
5
)
==
"_open"
return
node_name
:
sub
(
-
5
)
==
"_open"
end
}
else
...
...
@@ -129,15 +129,15 @@ local transform = {
},
}
function
_doors
.
door_toggle
(
pos
,
clicker
)
function
_doors
.
door_toggle
(
pos
,
node
,
clicker
)
local
meta
=
minetest
.
get_meta
(
pos
)
local
def
=
minetest
.
registered_nodes
[
minetest
.
get_node
(
pos
)
.
name
]
local
def
=
minetest
.
registered_nodes
[
node
.
name
]
local
name
=
def
.
door
.
name
local
state
=
meta
:
get_string
(
"state"
)
if
state
==
""
then
-- fix up lvm-placed right-hinged doors, default closed
if
minetest
.
get_node
(
pos
)
.
name
:
sub
(
-
2
)
==
"_b"
then
if
node
.
name
:
sub
(
-
2
)
==
"_b"
then
state
=
2
else
state
=
0
...
...
@@ -163,7 +163,7 @@ function _doors.door_toggle(pos, clicker)
state
=
state
+
1
end
local
dir
=
minetest
.
get_node
(
pos
)
.
param2
local
dir
=
node
.
param2
if
state
%
2
==
0
then
minetest
.
sound_play
(
def
.
door
.
sounds
[
1
],
{
pos
=
pos
,
gain
=
0
.
3
,
max_hear_distance
=
10
})
...
...
@@ -374,7 +374,7 @@ function doors.register(name, def)
}
def
.
on_rightclick
=
function
(
pos
,
node
,
clicker
,
itemstack
,
pointed_thing
)
_doors
.
door_toggle
(
pos
,
clicker
)
_doors
.
door_toggle
(
pos
,
node
,
clicker
)
return
itemstack
end
def
.
after_dig_node
=
function
(
pos
,
node
,
meta
,
digger
)
...
...
@@ -507,7 +507,7 @@ end
----trapdoor----
function
_doors
.
trapdoor_toggle
(
pos
,
clicker
)
function
_doors
.
trapdoor_toggle
(
pos
,
node
,
clicker
)
if
clicker
and
not
minetest
.
check_player_privs
(
clicker
,
"protection_bypass"
)
then
local
meta
=
minetest
.
get_meta
(
pos
)
local
owner
=
meta
:
get_string
(
"doors_owner"
)
...
...
@@ -518,7 +518,6 @@ function _doors.trapdoor_toggle(pos, clicker)
end
end
local
node
=
minetest
.
get_node
(
pos
)
local
def
=
minetest
.
registered_nodes
[
node
.
name
]
if
string.sub
(
node
.
name
,
-
5
)
==
"_open"
then
...
...
@@ -549,7 +548,7 @@ function doors.register_trapdoor(name, def)
end
def
.
on_rightclick
=
function
(
pos
,
node
,
clicker
,
itemstack
,
pointed_thing
)
_doors
.
trapdoor_toggle
(
pos
,
clicker
)
_doors
.
trapdoor_toggle
(
pos
,
node
,
clicker
)
return
itemstack
end
...
...
@@ -684,7 +683,6 @@ function doors.register_fencegate(name, def)
groups
=
def
.
groups
,
sounds
=
def
.
sounds
,
on_rightclick
=
function
(
pos
,
node
,
clicker
,
itemstack
,
pointed_thing
)
local
node
=
minetest
.
get_node
(
pos
)
local
node_def
=
minetest
.
registered_nodes
[
node
.
name
]
minetest
.
swap_node
(
pos
,
{
name
=
node_def
.
gate
,
param2
=
node
.
param2
})
minetest
.
sound_play
(
node_def
.
sound
,
{
pos
=
pos
,
gain
=
0
.
3
,
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment