David Leal
2020-06-12 a8daa417c485ee20716ec050d4c676b5c91af773
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
 
local S = technic.getter
local mesecons_materials = minetest.get_modpath("mesecons_materials")
 
minetest.register_tool("technic:treetap", {
    description = S("Tree Tap"),
    inventory_image = "technic_tree_tap.png",
    on_use = function(itemstack, user, pointed_thing)
        if pointed_thing.type ~= "node" then
            return
        end
        local pos = pointed_thing.under
        if minetest.is_protected(pos, user:get_player_name()) then
            minetest.record_protection_violation(pos, user:get_player_name())
            return
        end
        local node = minetest.get_node(pos)
        local node_name = node.name
        if node_name ~= "moretrees:rubber_tree_trunk" then
            return
        end
        node.name = "moretrees:rubber_tree_trunk_empty"
        minetest.swap_node(pos, node)
        minetest.handle_node_drops(pointed_thing.above, {"technic:raw_latex"}, user)
        if not technic.creative_mode then
            local item_wear = tonumber(itemstack:get_wear())
            item_wear = item_wear + 819
            if item_wear > 65535 then
                itemstack:clear()
                return itemstack
            end
            itemstack:set_wear(item_wear)
        end
        return itemstack
    end,
})
 
minetest.register_craft({
    output = "technic:treetap",
    recipe = {
        {"pipeworks:tube_1", "group:wood",    "default:stick"},
        {"",               "default:stick", "default:stick"}
    },
})
 
minetest.register_craftitem("technic:raw_latex", {
    description = S("Raw Latex"),
    inventory_image = "technic_raw_latex.png",
})
 
if mesecons_materials then
    minetest.register_craft({
        type = "cooking",
        recipe = "technic:raw_latex",
        output = "mesecons_materials:glue",
    })
end
 
minetest.register_craftitem("technic:rubber", {
    description = S("Rubber Fiber"),
    inventory_image = "technic_rubber.png",
})
 
minetest.register_abm({
    label = "Tools: tree tap",
    nodenames = {"moretrees:rubber_tree_trunk_empty"},
    interval = 60,
    chance = 15,
    action = function(pos, node)
        if minetest.find_node_near(pos, (moretrees and moretrees.leafdecay_radius) or 5, {"moretrees:rubber_tree_leaves"}) then
            node.name = "moretrees:rubber_tree_trunk"
            minetest.swap_node(pos, node)
        end
    end
})