summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--technic/tools/chainsaw.lua4
-rw-r--r--technic/tools/mining_drill.lua4
-rw-r--r--technic/tools/mining_lasers.lua4
-rw-r--r--technic/tools/sonic_screwdriver.lua8
-rw-r--r--technic/tools/tree_tap.lua49
5 files changed, 43 insertions, 26 deletions
diff --git a/technic/tools/chainsaw.lua b/technic/tools/chainsaw.lua
index fd8ce2c..4124265 100644
--- a/technic/tools/chainsaw.lua
+++ b/technic/tools/chainsaw.lua
@@ -203,6 +203,10 @@ end
-- Saw down trees entry point
local function chainsaw_dig_it(pos, player,current_charge)
+ if minetest.is_protected(pos, player:get_player_name()) then
+ minetest.record_protection_violation(pos, player:get_player_name())
+ return current_charge
+ end
local remaining_charge=current_charge
-- Save the currently installed dropping mechanism so we can restore it.
diff --git a/technic/tools/mining_drill.lua b/technic/tools/mining_drill.lua
index 79eef53..d7eb49c 100644
--- a/technic/tools/mining_drill.lua
+++ b/technic/tools/mining_drill.lua
@@ -51,6 +51,10 @@ local mining_drill_mode_text = {
}
local function drill_dig_it0 (pos,player)
+ if minetest.is_protected(pos, player:get_player_name()) then
+ minetest.record_protection_violation(pos, player:get_player_name())
+ return
+ end
local node=minetest.env:get_node(pos)
if node.name == "air" or node.name == "ignore" then return end
if node.name == "default:lava_source" then return end
diff --git a/technic/tools/mining_lasers.lua b/technic/tools/mining_lasers.lua
index 64628eb..e06a00d 100644
--- a/technic/tools/mining_lasers.lua
+++ b/technic/tools/mining_lasers.lua
@@ -60,6 +60,10 @@ local function node_tab(z, d)
end
local function laser_node(pos, player)
+ if minetest.is_protected(pos, player:get_player_name()) then
+ minetest.record_protection_violation(pos, player:get_player_name())
+ return
+ end
local node = minetest.get_node(pos)
if node.name == "air"
or node.name == "ignore"
diff --git a/technic/tools/sonic_screwdriver.lua b/technic/tools/sonic_screwdriver.lua
index cd2ce51..3951b8b 100644
--- a/technic/tools/sonic_screwdriver.lua
+++ b/technic/tools/sonic_screwdriver.lua
@@ -12,12 +12,16 @@ minetest.register_tool("technic:sonic_screwdriver", {
if pointed_thing.type ~= "node" then
return
end
- local pos = minetest.get_pointed_thing_position(pointed_thing, above)
+ 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 minetest.registered_nodes[node_name].paramtype2 ~= "facedir" and
minetest.registered_nodes[node_name].paramtype2 ~= "wallmounted" then
- return itemstack
+ return
end
if node.param2 == nil then
return
diff --git a/technic/tools/tree_tap.lua b/technic/tools/tree_tap.lua
index 183a95b..ab53955 100644
--- a/technic/tools/tree_tap.lua
+++ b/technic/tools/tree_tap.lua
@@ -4,37 +4,38 @@ local S = technic.getter
minetest.register_tool("technic:treetap", {
description = S("Tree Tap"),
inventory_image = "technic_tree_tap.png",
- on_use = function(itemstack,user,pointed_thing)
+ on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type ~= "node" then
return
end
- if user:get_inventory():room_for_item("main",ItemStack("technic:raw_latex")) then
- local pos = minetest.get_pointed_thing_position(pointed_thing,above)
- local node = minetest.env:get_node(pos)
- local node_name = node.name
- if node_name == "moretrees:rubber_tree_trunk" then
- node.name = "moretrees:rubber_tree_trunk_empty"
- user:get_inventory():add_item("main", ItemStack("technic:raw_latex"))
- minetest.set_node(pos,node)
- local item = itemstack:to_table()
- local item_wear = tonumber((item["wear"]))
- item_wear = item_wear + 819
- if item_wear > 65535 then
- itemstack:clear()
- return itemstack
- end
- item["wear"] = tostring(item_wear)
- itemstack:replace(item)
- return itemstack
- else
- return itemstack
- end
- else
+ local inv = user:get_inventory()
+ if not inv:room_for_item("main", ItemStack("technic:raw_latex")) 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"
+ inv:add_item("main", ItemStack("technic:raw_latex"))
+ minetest.swap_node(pos, node)
+ 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)
+ return itemstack
end,
})
-
+
minetest.register_craft({
output = "technic:treetap",
recipe = {