1
- local bed_bottoms = {" beds:bed_bottom" , " beds:fancy_bed_bottom" }
1
+ local bed_bottoms = { " beds:bed_bottom" , " beds:fancy_bed_bottom" }
2
2
3
- -- sanity checks
3
+ -- Sanity checks
4
4
assert (beds , " global `beds` not found" )
5
5
assert (beds .spawn , " field `spawn` doesn't exist in `beds`" )
6
6
assert (beds .save_spawns , " field `save_spawns` doesn't exist in `beds`" )
7
7
8
8
-- Calculate a bed's middle position (where players would spawn)
9
9
local function calc_bed_middle (bed_pos , facedir )
10
- local dir = minetest .facedir_to_dir (facedir )
10
+ local dir = core .facedir_to_dir (facedir )
11
11
local bed_middle = {
12
12
x = bed_pos .x + dir .x / 2 ,
13
13
y = bed_pos .y ,
18
18
19
19
local bed_from_positions = {}
20
20
21
-
22
21
for _ , nodename in ipairs (bed_bottoms ) do
23
- -- override bed definitions
24
- minetest .override_item (nodename , {
22
+ -- Override bed definitions
23
+ core .override_item (nodename , {
25
24
on_movenode = function (from_pos )
26
- -- collect bed positions while jumping
25
+ -- Collect bed positions while jumping
27
26
table.insert (bed_from_positions , from_pos )
28
27
end
29
28
})
30
29
end
31
30
32
- -- executed after jump
31
+ -- Executed after jump
33
32
jumpdrive .register_after_jump (function (from_area , to_area )
34
33
local delta_vector = vector .subtract (to_area .pos1 , from_area .pos1 )
35
34
local modified = false
36
35
37
- -- go over all collected bed positions
36
+ -- Go over all collected bed positions
38
37
for _ , bed_pos in ipairs (bed_from_positions ) do
39
- local facedir = minetest .get_node (bed_pos ).param2
38
+ local facedir = core .get_node (bed_pos ).param2
40
39
local sleep_pos = calc_bed_middle (bed_pos , facedir )
41
- -- sleep position in target area
40
+ -- Sleep position in target area
42
41
local new_sleep_pos = vector .add (sleep_pos , delta_vector )
43
42
local sleep_pos_floor = vector .floor (sleep_pos )
44
43
45
44
for player_name , player_pos in pairs (beds .spawn ) do
46
45
if vector .equals (sleep_pos_floor , vector .floor (player_pos )) then
47
- -- player sleeps here, move position
46
+ -- Player sleeps here, move position
48
47
beds .spawn [player_name ] = new_sleep_pos
49
- minetest .log (" action" , " [jumpdrive] Updated bed spawn for player " .. player_name )
48
+ core .log (" action" ,
49
+ " [jumpdrive] Updated bed spawn for player " .. player_name )
50
50
51
- -- set modified flag to save afterwards
51
+ -- Set modified flag to save afterwards
52
52
modified = true
53
53
end
54
54
end
@@ -59,6 +59,6 @@ jumpdrive.register_after_jump(function(from_area, to_area)
59
59
beds .save_spawns ()
60
60
end
61
61
62
- -- clear collected bed positions
62
+ -- Clear collected bed positions
63
63
bed_from_positions = {}
64
64
end )
0 commit comments