@@ -6,15 +6,17 @@ local function nextrange(x, max)
6
6
return x
7
7
end
8
8
9
+ local ROTATE_FACE = 1
10
+ local ROTATE_AXIS = 2
11
+ local USES = 10
12
+
9
13
-- Handles rotation
10
14
local function screwdriver_handler (itemstack , user , pointed_thing , mode )
11
15
if pointed_thing .type ~= " node" then
12
16
return
13
17
end
14
18
15
19
local pos = pointed_thing .under
16
- local keys = user :get_player_control ()
17
- local player_name = user :get_player_name ()
18
20
19
21
if minetest .is_protected (pos , user :get_player_name ()) then
20
22
minetest .record_protection_violation (pos , user :get_player_name ())
@@ -34,22 +36,19 @@ local function screwdriver_handler(itemstack, user, pointed_thing, mode)
34
36
local n = node .param2
35
37
local axisdir = math.floor (n / 4 )
36
38
local rotation = n - axisdir * 4
37
- if mode == 1 then
39
+ if mode == ROTATE_FACE then
38
40
n = axisdir * 4 + nextrange (rotation , 3 )
39
- elseif mode == 3 then
41
+ elseif mode == ROTATE_AXIS then
40
42
n = nextrange (axisdir , 5 ) * 4
41
43
end
42
44
43
45
node .param2 = n
44
46
minetest .swap_node (pos , node )
45
47
46
- local item_wear = tonumber (itemstack :get_wear ())
47
- item_wear = item_wear + 300 -- was 327
48
- if item_wear > 65535 then
49
- itemstack :clear ()
50
- return itemstack
48
+ if not minetest .setting_getbool (" creative_mode" ) then
49
+ itemstack :add_wear (65535 / (USES - 1 ))
51
50
end
52
- itemstack : set_wear ( item_wear )
51
+
53
52
return itemstack
54
53
end
55
54
@@ -58,11 +57,11 @@ minetest.register_tool("screwdriver:screwdriver", {
58
57
description = " Screwdriver (left-click rotates face, right-click rotates axis)" ,
59
58
inventory_image = " screwdriver.png" ,
60
59
on_use = function (itemstack , user , pointed_thing )
61
- screwdriver_handler (itemstack , user , pointed_thing , 1 )
60
+ screwdriver_handler (itemstack , user , pointed_thing , ROTATE_FACE )
62
61
return itemstack
63
62
end ,
64
63
on_place = function (itemstack , user , pointed_thing )
65
- screwdriver_handler (itemstack , user , pointed_thing , 3 )
64
+ screwdriver_handler (itemstack , user , pointed_thing , ROTATE_AXIS )
66
65
return itemstack
67
66
end ,
68
67
})
0 commit comments