164 lines
5.1 KiB
Lua
164 lines
5.1 KiB
Lua
myfences_paint = none
|
|
local paintcount = 0
|
|
local colors = {
|
|
{"Red","red"},
|
|
{"Green","green"},
|
|
{"White","white"},
|
|
}
|
|
for i in ipairs(colors) do
|
|
local des = colors[i][1]
|
|
local col = colors[i][2]
|
|
|
|
for nu = 1,4 do
|
|
local num = nu
|
|
|
|
|
|
minetest.register_tool("myfences:fence_brush", {
|
|
description = "Fence Brush",
|
|
inventory_image = "myfences_paint_brush.png",
|
|
on_use = function(itemstack, user, pointed_thing)
|
|
|
|
if pointed_thing.type ~= "node" then
|
|
return
|
|
end
|
|
|
|
local pos = pointed_thing.under
|
|
local node = minetest.get_node(pos)
|
|
|
|
if node.name == "myfences:paint_green" then
|
|
myfences_paint = "green"
|
|
paintcount = 3
|
|
elseif node.name == "myfences:paint_red" then
|
|
myfences_paint = "red"
|
|
paintcount = 3
|
|
elseif node.name == "myfences:paint_white" then
|
|
myfences_paint = "white"
|
|
paintcount = 3
|
|
end
|
|
if myfences_paint == nil then
|
|
return
|
|
end
|
|
if paintcount ~= 0 then
|
|
|
|
if node.name == "myfences:corner_post_wood" or
|
|
node.name == "myfences:corner_post_red_wood" or
|
|
node.name == "myfences:corner_post_white_wood" or
|
|
node.name == "myfences:corner_post_green_wood" then
|
|
minetest.set_node(pos,{name = "myfences:corner_post_"..myfences_paint.."_wood", param2=node.param2})
|
|
paintcount = paintcount - 1
|
|
end
|
|
|
|
if node.name == "myfences:fence_picket_wood" or
|
|
node.name == "myfences:fence_picket_red_wood" or
|
|
node.name == "myfences:fence_picket_white_wood" or
|
|
node.name == "myfences:fence_picket_green_wood" then
|
|
minetest.set_node(pos,{name = "myfences:fence_picket_"..myfences_paint.."_wood", param2=node.param2})
|
|
paintcount = paintcount - 1
|
|
end
|
|
|
|
if node.name == "myfences:fence_picket_wood_corner" or
|
|
node.name == "myfences:fence_picket_red_wood_corner" or
|
|
node.name == "myfences:fence_picket_white_wood_corner" or
|
|
node.name == "myfences:fence_picket_green_wood_corner" then
|
|
minetest.set_node(pos,{name = "myfences:fence_picket_"..myfences_paint.."_wood_corner", param2=node.param2})
|
|
paintcount = paintcount - 1
|
|
end
|
|
|
|
if node.name == "myfences:fence_picketb_wood" or
|
|
node.name == "myfences:fence_picketb_red_wood" or
|
|
node.name == "myfences:fence_picketb_white_wood" or
|
|
node.name == "myfences:fence_picketb_green_wood" then
|
|
minetest.set_node(pos,{name = "myfences:fence_picketb_"..myfences_paint.."_wood", param2=node.param2})
|
|
paintcount = paintcount - 1
|
|
end
|
|
|
|
if node.name == "myfences:fence_picketb_wood_corner" or
|
|
node.name == "myfences:fence_picketb_red_wood_corner" or
|
|
node.name == "myfences:fence_picketb_white_wood_corner" or
|
|
node.name == "myfences:fence_picketb_green_wood_corner" then
|
|
minetest.set_node(pos,{name = "myfences:fence_picketb_"..myfences_paint.."_wood_corner", param2=node.param2})
|
|
paintcount = paintcount - 1
|
|
end
|
|
|
|
if node.name == "myfences:fence_garden_wood" or
|
|
node.name == "myfences:fence_garden_red_wood" or
|
|
node.name == "myfences:fence_garden_white_wood" or
|
|
node.name == "myfences:fence_garden_green_wood" then
|
|
minetest.set_node(pos,{name = "myfences:fence_garden_"..myfences_paint.."_wood", param2=node.param2})
|
|
paintcount = paintcount - 1
|
|
end
|
|
|
|
if node.name == "myfences:fence_garden_wood_corner" or
|
|
node.name == "myfences:fence_garden_red_wood_corner" or
|
|
node.name == "myfences:fence_garden_white_wood_corner" or
|
|
node.name == "myfences:fence_garden_green_wood_corner" then
|
|
minetest.set_node(pos,{name = "myfences:fence_garden_"..myfences_paint.."_wood_corner", param2=node.param2})
|
|
paintcount = paintcount - 1
|
|
end
|
|
|
|
if node.name == "myfences:fence_privacy_wood" or
|
|
node.name == "myfences:fence_privacy_red_wood" or
|
|
node.name == "myfences:fence_privacy_white_wood" or
|
|
node.name == "myfences:fence_privacy_green_wood" then
|
|
minetest.set_node(pos,{name = "myfences:fence_privacy_"..myfences_paint.."_wood", param2=node.param2})
|
|
paintcount = paintcount - 1
|
|
end
|
|
|
|
if node.name == "myfences:fence_privacy_wood_corner" or
|
|
node.name == "myfences:fence_privacy_red_wood_corner" or
|
|
node.name == "myfences:fence_privacy_white_wood_corner" or
|
|
node.name == "myfences:fence_privacy_green_wood_corner" then
|
|
minetest.set_node(pos,{name = "myfences:fence_privacy_"..myfences_paint.."_wood_corner", param2=node.param2})
|
|
paintcount = paintcount - 1
|
|
end
|
|
end
|
|
end
|
|
})
|
|
minetest.register_node("myfences:paint_"..col, {
|
|
description = des.." Paint",
|
|
drawtype = "mesh",
|
|
paramtype = "light",
|
|
mesh = "myfences_can.obj",
|
|
tiles = {"myfences_paint_"..col..".png"},
|
|
groups = {oddly_breakable_by_hand = 1},
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.25, -0.5, -0.25, 0.25, 0., 0.25},
|
|
}
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "myfences:paint_"..col,
|
|
recipe = {
|
|
{"bucket:bucket_water","dye:"..col}
|
|
},
|
|
replacements = {{"bucket:bucket_water","bucket:bucket_empty"}},
|
|
})
|
|
end
|
|
end
|
|
|
|
minetest.register_craftitem("myfences:paint_brush_bristles",{
|
|
description = "Paint Brush Bristles",
|
|
inventory_image = "myfences_paint_brush_bristles.png",
|
|
stack_max = 1,
|
|
|
|
})
|
|
minetest.register_craft({
|
|
output = 'myfences:paint_brush_bristles',
|
|
recipe = {
|
|
{'wool:white'},
|
|
}
|
|
})
|
|
minetest.register_craft({
|
|
output = 'myfences:fence_brush',
|
|
recipe = {
|
|
{'myfences:paint_brush_bristles'},
|
|
{'group:stick'},
|
|
}
|
|
})
|
|
|
|
|
|
|