mods that hopefully work for a TechAge-based pack
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
--[[
|
||||
|
||||
TechAge
|
||||
=======
|
||||
|
||||
Copyright (C) 2019 Joachim Stolberg
|
||||
|
||||
AGPL v3
|
||||
See LICENSE.txt for more information
|
||||
|
||||
Trowel tool to hide/open cable/pipe/tube nodes
|
||||
|
||||
]]--
|
||||
|
||||
-- for lazy programmers
|
||||
local P = minetest.string_to_pos
|
||||
local M = minetest.get_meta
|
||||
local S = techage.S
|
||||
|
||||
local function replace_node(itemstack, placer, pointed_thing)
|
||||
if pointed_thing.type == "node" then
|
||||
local pos = pointed_thing.under
|
||||
local name = placer:get_player_name()
|
||||
if minetest.is_protected(pos, name) then
|
||||
return
|
||||
end
|
||||
local node = minetest.get_node(pos)
|
||||
local res = false
|
||||
if minetest.get_item_group(node.name, "techage_trowel") == 1 then
|
||||
res = networks.hide_node(pos, node, placer)
|
||||
elseif networks.hidden_name(pos) or M(pos):get_string("techage_hidden_nodename") ~= "" then
|
||||
res = networks.open_node(pos, node, placer)
|
||||
else
|
||||
minetest.chat_send_player(placer:get_player_name(), "Invalid/unsuported block!")
|
||||
return
|
||||
end
|
||||
if res then
|
||||
minetest.sound_play("default_dig_snappy", {
|
||||
pos = pos,
|
||||
gain = 1,
|
||||
max_hear_distance = 5})
|
||||
elseif placer and placer.get_player_name then
|
||||
minetest.chat_send_player(placer:get_player_name(), "Invalid fill material in inventory slot 1!")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_tool("techage:trowel", {
|
||||
description = S("TechAge Trowel"),
|
||||
inventory_image = "techage_trowel.png",
|
||||
wield_image = "techage_trowel.png",
|
||||
use_texture_alpha = techage.CLIP,
|
||||
groups = {cracky=1},
|
||||
on_use = replace_node,
|
||||
on_place = replace_node,
|
||||
node_placement_prediction = "",
|
||||
stack_max = 1,
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = "techage:trowel",
|
||||
recipe = {
|
||||
{"basic_materials:steel_bar", "basic_materials:steel_bar", ""},
|
||||
{"basic_materials:steel_bar", "default:stick", ""},
|
||||
{"", "", "default:stick"},
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user