Added crafting and paint

master
DonBatman 2016-03-16 11:13:00 -07:00
parent 9df41f1ce9
commit 803f24ba35
15 changed files with 371 additions and 28 deletions

View File

@ -1,8 +1,8 @@
local fences = { -- name, desc, item, img
{"wood", "Wood", "group:wood", ""},
{"red_wood", "Wood w Red Stain", "group:wood", "^myfences_red.png"},
{"white_wood", "Wood w White Stain", "group:wood", "^myfences_white.png"},
{"green_wood", "Wood w Green Stain", "group:wood", "^myfences_green.png"},
{"wood", "Wood", "group:wood", "", {choppy = 2, flammable = 1}},
{"red_wood", "Red", "group:wood", "^myfences_red.png", {choppy = 2, flammable = 1,not_in_creative_inventory=1}},
{"white_wood", "White", "group:wood", "^myfences_white.png",{choppy = 2, flammable = 1,not_in_creative_inventory=1}},
{"green_wood", "Green", "group:wood", "^myfences_green.png",{choppy = 2, flammable = 1,not_in_creative_inventory=1}},
}
for i in ipairs(fences) do
@ -10,6 +10,7 @@ for i in ipairs(fences) do
local desc = fences[i][2]
local item = fences[i][3]
local stain = fences[i][4]
local gro = fences[i][5]
minetest.register_node("myfences:fence_garden_"..name, {
@ -43,7 +44,7 @@ minetest.register_node("myfences:fence_garden_"..name, {
{-0.5,-0.5,0.25,0.5,0.5,0.5},
}
},
groups = {choppy = 2, flammable = 1},
groups = gro,
sounds = default.node_sound_stone_defaults(),
})
@ -71,7 +72,6 @@ minetest.register_node("myfences:fence_garden_"..name.."_corner", {
{-0.5, 0.0625, 0.4375, 0.5, 0.25, 0.5},
{-0.5, 0.3125, 0.4375, 0.5, 0.5, 0.5},
--{0.1875, -0.5, 0.375, 0.4375, 0.5, 0.5},
{0.1875, -0.5, -0.5, 0.4375, 0.5, -0.375},
{0.4375, -0.4375, -0.5, 0.5, -0.25, 0.5},
{0.4375, -0.1875, -0.5, 0.5, 0, 0.5},
@ -86,7 +86,21 @@ minetest.register_node("myfences:fence_garden_"..name.."_corner", {
{0.25,-0.5,-0.5,0.5,0.5,0.5},
}
},
groups = {choppy = 2, flammable = 1},
groups = gro,
sounds = default.node_sound_stone_defaults(),
})
end
minetest.register_craft({
output = "myfences:fence_garden_wood",
recipe = {
{"","",""},
{"myfences:board","myfences:board","myfences:board"},
{"default:wood","myfences:board","default:wood"},
}
})
minetest.register_craft({
type = "shapeless",
output = "myfences:fence_garden_wood_corner",
recipe = {"myfences:fence_garden_wood","myfences:fence_garden_wood"},
})

View File

@ -3,3 +3,14 @@ dofile(minetest.get_modpath("myfences").."/picket.lua")
dofile(minetest.get_modpath("myfences").."/privacy.lua")
dofile(minetest.get_modpath("myfences").."/garden.lua")
dofile(minetest.get_modpath("myfences").."/post.lua")
dofile(minetest.get_modpath("myfences").."/paint.lua")
minetest.register_craftitem("myfences:board", {
description = "Default Board",
inventory_image = "myfences_board.png",
})
minetest.register_craft({
type = "shapeless",
output = "myfences:board 4",
recipe = {"group:wood","group:wood"},
})

106
models/myfences_can.obj Normal file
View File

@ -0,0 +1,106 @@
# Blender v2.77 (sub 0) OBJ File: ''
# www.blender.org
o Cylinder
v -0.000000 -0.500000 0.250000
v -0.000000 0.000000 0.250000
v -0.125000 -0.500000 0.216506
v -0.125000 0.000000 0.216506
v -0.216506 -0.500000 0.125000
v -0.216506 0.000000 0.125000
v -0.250000 -0.500000 0.000000
v -0.250000 0.000000 0.000000
v -0.216506 -0.500000 -0.125000
v -0.216506 0.000000 -0.125000
v -0.125000 -0.500000 -0.216506
v -0.125000 0.000000 -0.216506
v -0.000000 -0.500000 -0.250000
v -0.000000 0.000000 -0.250000
v 0.125000 -0.500000 -0.216506
v 0.125000 0.000000 -0.216506
v 0.216506 -0.500000 -0.125000
v 0.216506 0.000000 -0.125000
v 0.250000 -0.500000 -0.000000
v 0.250000 0.000000 -0.000000
v 0.216506 -0.500000 0.125000
v 0.216506 0.000000 0.125000
v 0.125000 -0.500000 0.216506
v 0.125000 0.000000 0.216506
vt 0.999881 0.000119
vt 0.999881 0.322018
vt 0.916568 0.322018
vt 0.916567 0.000119
vt 0.833254 0.322018
vt 0.833254 0.000119
vt 0.749941 0.322018
vt 0.749940 0.000119
vt 0.666627 0.322018
vt 0.666627 0.000119
vt 0.583314 0.322018
vt 0.583313 0.000119
vt 0.500000 0.322018
vt 0.500000 0.000119
vt 0.416687 0.322018
vt 0.416686 0.000119
vt 0.333373 0.322018
vt 0.333373 0.000119
vt 0.250060 0.322018
vt 0.250060 0.000119
vt 0.166746 0.322018
vt 0.166746 0.000119
vt 0.114068 0.633186
vt 0.041916 0.591529
vt 0.000260 0.519378
vt 0.000260 0.436064
vt 0.041916 0.363912
vt 0.114068 0.322256
vt 0.197381 0.322256
vt 0.269533 0.363912
vt 0.311190 0.436064
vt 0.311190 0.519377
vt 0.269533 0.591529
vt 0.197381 0.633186
vt 0.083433 0.322018
vt 0.083433 0.000119
vt 0.000119 0.322018
vt 0.000119 0.000119
vt 0.197241 0.322256
vt 0.269392 0.363913
vt 0.311049 0.436064
vt 0.311049 0.519378
vt 0.269392 0.591529
vt 0.197241 0.633186
vt 0.113927 0.633186
vt 0.041776 0.591529
vt 0.000119 0.519377
vt 0.000119 0.436064
vt 0.041776 0.363912
vt 0.113927 0.322256
vn -0.258800 0.000000 0.965900
vn -0.707100 0.000000 0.707100
vn -0.965900 0.000000 0.258800
vn -0.965900 0.000000 -0.258800
vn -0.707100 0.000000 -0.707100
vn -0.258800 0.000000 -0.965900
vn 0.258800 0.000000 -0.965900
vn 0.707100 0.000000 -0.707100
vn 0.965900 0.000000 -0.258800
vn 0.965900 0.000000 0.258800
vn 0.000000 1.000000 0.000000
vn 0.707100 0.000000 0.707100
vn 0.258800 0.000000 0.965900
vn 0.000000 -1.000000 0.000000
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/4/2 4/3/2 6/5/2 5/6/2
f 5/6/3 6/5/3 8/7/3 7/8/3
f 7/8/4 8/7/4 10/9/4 9/10/4
f 9/10/5 10/9/5 12/11/5 11/12/5
f 11/12/6 12/11/6 14/13/6 13/14/6
f 13/14/7 14/13/7 16/15/7 15/16/7
f 15/16/8 16/15/8 18/17/8 17/18/8
f 17/18/9 18/17/9 20/19/9 19/20/9
f 19/20/10 20/19/10 22/21/10 21/22/10
f 4/23/11 2/24/11 24/25/11 22/26/11 20/27/11 18/28/11 16/29/11 14/30/11 12/31/11 10/32/11 8/33/11 6/34/11
f 21/22/12 22/21/12 24/35/12 23/36/12
f 23/36/13 24/35/13 2/37/13 1/38/13
f 1/39/14 3/40/14 5/41/14 7/42/14 9/43/14 11/44/14 13/45/14 15/46/14 17/47/14 19/48/14 21/49/14 23/50/14

163
paint.lua Normal file
View File

@ -0,0 +1,163 @@
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'},
}
})

View File

@ -1,8 +1,8 @@
local fences = { -- name, desc, item, img
{"wood", "Wood", "group:wood", ""},
{"red_wood", "Wood w Red Stain", "group:wood", "^myfences_red.png"},
{"white_wood", "Wood w White Stain", "group:wood", "^myfences_white.png"},
{"green_wood", "Wood w Green Stain", "group:wood", "^myfences_green.png"},
{"wood", "Wood", "group:wood", "", {choppy = 2, flammable = 1}},
{"red_wood", "Red", "group:wood", "^myfences_red.png", {choppy = 2, flammable = 1,not_in_creative_inventory=1}},
{"white_wood", "White", "group:wood", "^myfences_white.png",{choppy = 2, flammable = 1,not_in_creative_inventory=1}},
{"green_wood", "Green", "group:wood", "^myfences_green.png",{choppy = 2, flammable = 1,not_in_creative_inventory=1}},
}
for i in ipairs(fences) do
@ -10,6 +10,7 @@ for i in ipairs(fences) do
local desc = fences[i][2]
local item = fences[i][3]
local stain = fences[i][4]
local gro = fences[i][5]
minetest.register_node("myfences:fence_picketb_"..name, {
@ -46,7 +47,7 @@ minetest.register_node("myfences:fence_picketb_"..name, {
}
},
groups = {cracky = 2},
groups = gro,
sounds = default.node_sound_stone_defaults(),
})
@ -92,7 +93,7 @@ minetest.register_node("myfences:fence_picket_"..name, {
}
},
groups = {choppy = 2, flammable = 1},
groups = gro,
sounds = default.node_sound_stone_defaults(),
})
@ -156,7 +157,7 @@ minetest.register_node("myfences:fence_picket_"..name.."_corner", {
}
},
groups = {choppy = 2, flammable = 1},
groups = gro,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("myfences:fence_picketb_"..name.."_corner", {
@ -203,7 +204,33 @@ minetest.register_node("myfences:fence_picketb_"..name.."_corner", {
}
},
groups = {cracky = 2},
groups = gro,
sounds = default.node_sound_stone_defaults(),
})
end
minetest.register_craft({
output = "myfences:fence_picket_wood",
recipe = {
{"","myfences:board",""},
{"myfences:board","myfences:board","myfences:board"},
{"myfences:board","myfences:board","myfences:board"},
}
})
minetest.register_craft({
output = "myfences:fence_picketb_wood",
recipe = {
{"","",""},
{"myfences:board","myfences:board","myfences:board"},
{"myfences:board","myfences:board","myfences:board"},
}
})
minetest.register_craft({
type = "shapeless",
output = "myfences:fence_picket_wood_corner",
recipe = {"myfences:fence_picket_wood","myfences:fence_picket_wood"},
})
minetest.register_craft({
type = "shapeless",
output = "myfences:fence_picketb_wood_corner",
recipe = {"myfences:fence_picketb_wood","myfences:fence_picketb_wood"},
})

View File

@ -1,8 +1,8 @@
local fences = { -- name, desc, item, img
{"wood", "Wood", "group:wood", ""},
{"red_wood", "Wood w Red Stain", "group:wood", "^myfences_red.png"},
{"white_wood", "Wood w White Stain", "group:wood", "^myfences_white.png"},
{"green_wood", "Wood w Green Stain", "group:wood", "^myfences_green.png"},
{"wood", "Wood", "group:wood", "", {choppy = 2, flammable = 1}},
{"red_wood", "Red", "group:wood", "^myfences_red.png", {choppy = 2, flammable = 1,not_in_creative_inventory=1}},
{"white_wood", "White", "group:wood", "^myfences_white.png",{choppy = 2, flammable = 1,not_in_creative_inventory=1}},
{"green_wood", "Green", "group:wood", "^myfences_green.png",{choppy = 2, flammable = 1,not_in_creative_inventory=1}},
}
for i in ipairs(fences) do
@ -10,9 +10,10 @@ for i in ipairs(fences) do
local desc = fences[i][2]
local item = fences[i][3]
local stain = fences[i][4]
local gro = fences[i][5]
minetest.register_node("myfences:coorner_post_"..name, {
minetest.register_node("myfences:corner_post_"..name, {
description = desc.." Post",
drawtype = "nodebox",
tiles = {
@ -38,8 +39,16 @@ minetest.register_node("myfences:coorner_post_"..name, {
{0.1875, -0.5, 0.1875, 0.5, 0.5, 0.5},
}
},
groups = {choppy = 2, flammable = 1},
groups = gro,
sounds = default.node_sound_stone_defaults(),
})
end
minetest.register_craft({
output = "myfences:corner_post_wood",
recipe = {
{"myfences:board"},
{"myfences:board"},
{"myfences:board"},
}
})

View File

@ -1,8 +1,8 @@
local fences = { -- name, desc, item, img
{"wood", "Wood", "group:wood", ""},
{"red_wood", "Wood w Red Stain", "group:wood", "^myfences_red.png"},
{"white_wood", "Wood w White Stain", "group:wood", "^myfences_white.png"},
{"green_wood", "Wood w Green Stain", "group:wood", "^myfences_green.png"},
{"wood", "Wood", "group:wood", "", {choppy = 2, flammable = 1}},
{"red_wood", "Red", "group:wood", "^myfences_red.png", {choppy = 2, flammable = 1,not_in_creative_inventory=1}},
{"white_wood", "White", "group:wood", "^myfences_white.png",{choppy = 2, flammable = 1,not_in_creative_inventory=1}},
{"green_wood", "Green", "group:wood", "^myfences_green.png",{choppy = 2, flammable = 1,not_in_creative_inventory=1}},
}
for i in ipairs(fences) do
@ -10,6 +10,7 @@ for i in ipairs(fences) do
local desc = fences[i][2]
local item = fences[i][3]
local stain = fences[i][4]
local gro = fences[i][5]
minetest.register_node("myfences:fence_privacy_"..name, {
@ -44,7 +45,7 @@ minetest.register_node("myfences:fence_privacy_"..name, {
{-0.5,-0.5,0.25,0.5,0.5,0.5},
}
},
groups = {choppy = 2, flammable = 1},
groups = gro,
sounds = default.node_sound_stone_defaults(),
})
@ -73,7 +74,6 @@ minetest.register_node("myfences:fence_privacy_"..name.."_corner", {
{-0.1458, -0.5, 0.4375, 0.1458, 0.5, 0.5},
{0.1772, -0.5, 0.4375, 0.4896, 0.5, 0.5},
--{0.1875, -0.5, 0.375, 0.4375, 0.5, 0.5},
{0.1875, -0.5, -0.5, 0.4375, 0.5, -0.375},
{0.3125, -0.375, -0.375, 0.4375, -0.1875, 0.375},
{0.3125, 0.1875, -0.375, 0.4375, 0.375, 0.375},
@ -89,7 +89,20 @@ minetest.register_node("myfences:fence_privacy_"..name.."_corner", {
{0.25,-0.5,-0.5,0.5,0.5,0.5},
}
},
groups = {choppy = 2, flammable = 1},
groups = gro,
sounds = default.node_sound_stone_defaults(),
})
end
minetest.register_craft({
output = "myfences:fence_privacy_wood",
recipe = {
{"","",""},
{"default:wood","myfences:board","myfences:board"},
{"default:wood","myfences:board","myfences:board"},
}
})
minetest.register_craft({
type = "shapeless",
output = "myfences:fence_privacy_wood_corner",
recipe = {"myfences:fence_privacy_wood","myfences:fence_privacy_wood"},
})

BIN
textures/myfences_board.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 722 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
textures/paint.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
textures/paint.xcf Normal file

Binary file not shown.