First Upload

This commit is contained in:
DonBatman 2015-03-14 21:39:43 -07:00
commit 08be37764b
37 changed files with 1362 additions and 0 deletions

34
README.md Normal file
View File

@ -0,0 +1,34 @@
millwork
========
Crown Mold, Baseboards, Columns and more
Latest update adds different textures to the millwork.
If you want to add or remove a texture simply edit the table at the top of millwork.lua file.
Right now I have these textures: White, Sandstone, Desert Sand and Clay. The others are commented out.
Each texture has 28 nodes so careful that you don't add too many textures.
local material = {--{Name for description}, {image without .png}, {item name}, {mod name}
{ "White", "crownmold_white","white","wool"},
-- { "Cobble", "default_cobble","cobble","default"},
{ "Sandstone", "default_sandstone","sandstone","default"},
-- { "Desert Stone", "default_desert_stone","desert_stone","default"},
-- { "Stone", "default_stone","stone","default"},
-- { "Tree", "default_tree","tree","default"},
{ "Desert Sand", "default_desert_sand","desert_sand","default"},
{ "Clay", "default_clay","clay","default"},
-- { "Dirt", "default_dirt","dirt","default"},
}

1
depends.txt Normal file
View File

@ -0,0 +1 @@
default

12
init.lua Normal file
View File

@ -0,0 +1,12 @@
mymillwork = {}
dofile(minetest.get_modpath("mymillwork").."/millwork.lua")
dofile(minetest.get_modpath("mymillwork").."/machines.lua")
dofile(minetest.get_modpath("mymillwork").."/register.lua")

451
machines.lua Normal file
View File

@ -0,0 +1,451 @@
local material = {}
local shape = {}
local make_ok = {}
local anzahl = {}
--function mymillwork.register_all(mat, desc, image, groups, craft)
minetest.register_node("mymillwork:machine", {
description = "Millwork Machine",
tiles = {"mymillwork_machine_top.png",
"mymillwork_machine_top.png",
"mymillwork_machine_side.png",
"mymillwork_machine_side.png",
"mymillwork_machine_back.png",
"mymillwork_machine_front.png",
},
drawtype = "normal",
paramtype = "light",
paramtype2 = "facedir",
groups = {oddly_breakable_by_hand=2, cracky=3, dig_immediate=1},
-- Set owner of Millwork Machine
after_place_node = function(pos, placer)
local meta = minetest.env:get_meta(pos);
meta:set_string("owner", (placer:get_player_name() or ""));
meta:set_string("infotext", "Millwork Machine is empty (owned by " .. (placer:get_player_name() or "") .. ")");
end,
can_dig = function(pos,player)
local meta = minetest.env:get_meta(pos);
local inv = meta:get_inventory()
if not inv:is_empty("ingot") then
return false
elseif not inv:is_empty("res") then
return false
end
return true
end,
on_construct = function(pos)
local meta = minetest.env:get_meta(pos)
meta:set_string("formspec", "invsize[10,11;]"..
"background[-0.15,-0.25;10.40,11.75;mymillwork_background.png]"..
"list[current_name;ingot;8.5,7.5;1,1;]"..
"list[current_name;res;8.5,10;1,1;]"..
"label[8.5,7;Input:]"..
"label[8.5,9.5;Output:]"..
"label[0,0;Choose Millwork:]"..
"label[0.5,0.5;Crown Mould]"..
"image_button[1,1;1,1;mymillwork_mach1.png;crownmould; ]"..
"image_button[2,1;1,1;mymillwork_mach2.png;crownmould_ic; ]"..
"image_button[3,1;1,1;mymillwork_mach3.png;crownmould_oc; ]"..
"image_button[4,1;1,1;mymillwork_mach4.png;crownmould_beam; ]"..
"label[0.5,2;Columns]"..
"image_button[1,2.5;1,1;mymillwork_mach5.png;column; ]"..
"image_button[2,2.5;1,1;mymillwork_mach6.png;column_base; ]"..
"image_button[3,2.5;1,1;mymillwork_mach7.png;column_half; ]"..
"image_button[4,2.5;1,1;mymillwork_mach8.png;column_half_base; ]"..
"image_button[5,2.5;1,1;mymillwork_mach9.png;column_half_wbeam; ]"..
"image_button[6,2.5;1,1;mymillwork_mach10.png;column_quarter; ]"..
"image_button[7,2.5;1,1;mymillwork_mach11.png;column_quarter_base; ]"..
"image_button[8,2.5;1,1;mymillwork_mach12.png;column_quarter_wbase; ]"..
"image_button[9,2.5;1,1;mymillwork_mach13.png;column_quarter_fancybase; ]"..
"label[0.5,3.5;Ceiling and Beams]"..
"image_button[1,4;1,1;mymillwork_mach14.png;ceiling; ]"..
"image_button[2,4;1,1;mymillwork_mach15.png;ceiling_post; ]"..
"image_button[3,4;1,1;mymillwork_mach16.png;beam; ]"..
"image_button[4,4;1,1;mymillwork_mach17.png;beam_t; ]"..
"image_button[5,4;1,1;mymillwork_mach18.png;beam_ceiling_t; ]"..
"label[0.5,5;Base]"..
"image_button[1,5.5;1,1;mymillwork_mach19.png;base; ]"..
"image_button[2,5.5;1,1;mymillwork_mach20.png;base_ic; ]"..
"image_button[3,5.5;1,1;mymillwork_mach21.png;base_oc; ]"..
"image_button[4,5.5;1,1;mymillwork_mach22.png;base_fancy; ]"..
"image_button[5,5.5;1,1;mymillwork_mach23.png;base_fancy_ic; ]"..
"image_button[6,5.5;1,1;mymillwork_mach24.png;base_fancy_oc; ]"..
"list[current_player;main;0,7;8,4;]")
meta:set_string("infotext", "Millwork Machine")
local inv = meta:get_inventory()
inv:set_size("ingot", 1)
inv:set_size("res", 1)
end,
on_receive_fields = function(pos, formname, fields, sender)
local meta = minetest.env:get_meta(pos)
local inv = meta:get_inventory()
-- REGISTER MILLING PROGRAMMS
-----------------------------
if fields["crownmould"]
or fields["crownmould_ic"]
or fields["crownmould_oc"]
or fields["crownmould_beam"]
or fields["column"]
or fields["column_base"]
or fields["column_half"]
or fields["column_half_base"]
or fields["column_half_wbeam"]
or fields["column_quarter"]
or fields["column_quarter_base"]
or fields["column_quarter_wbase"]
or fields["column_quarter_fancybase"]
or fields["ceiling"]
or fields["ceiling_post"]
or fields["beam"]
or fields["beam_t"]
or fields["beam_ceiling_t"]
or fields["base"]
or fields["base_ic"]
or fields["base_oc"]
or fields["base_fancy"]
or fields["base_fancy_ic"]
or fields["base_fancy_oc"]
then
--Crown Mould-----------------------------------------
if fields["crownmould"] then
make_ok = "0"
anzahl = "1"
shape = "mymillwork:crownmould_"
if inv:is_empty("ingot") then
return
end
end
if fields["crownmould_ic"] then
make_ok = "0"
anzahl = "1"
shape = "mymillwork:crownmould_ic_"
if inv:is_empty("ingot") then
return
end
end
if fields["crownmould_oc"] then
make_ok = "0"
anzahl = "1"
shape = "mymillwork:crownmould_oc_"
if inv:is_empty("ingot") then
return
end
end
if fields["crownmould_beam"] then
make_ok = "0"
anzahl = "1"
shape = "mymillwork:crownmould_beam_"
if inv:is_empty("ingot") then
return
end
end
--Columns----------------------------------------------
if fields["column"] then
make_ok = "0"
anzahl = "1"
shape = "mymillwork:column_"
if inv:is_empty("ingot") then
return
end
end
if fields["column_base"] then
make_ok = "0"
anzahl = "1"
shape = "mymillwork:column_base_"
if inv:is_empty("ingot") then
return
end
end
if fields["column_half"] then
make_ok = "0"
anzahl = "2"
shape = "mymillwork:column_half_"
if inv:is_empty("ingot") then
return
end
end
if fields["column_half_base"] then
make_ok = "0"
anzahl = "2"
shape = "mymillwork:column_half_base_"
if inv:is_empty("ingot") then
return
end
end
if fields["column_half_wbeam"] then
make_ok = "0"
anzahl = "1"
shape = "mymillwork:column_half_wbeam_"
if inv:is_empty("ingot") then
return
end
end
if fields["column_quarter"] then
make_ok = "0"
anzahl = "4"
shape = "mymillwork:column_quarter_"
if inv:is_empty("ingot") then
return
end
end
if fields["column_quarter_base"] then
make_ok = "0"
anzahl = "4"
shape = "mymillwork:column_quarter_base_"
if inv:is_empty("ingot") then
return
end
end
if fields["column_quarter_wbase"] then
make_ok = "0"
anzahl = "2"
shape = "mymillwork:column_quarter_wbase_"
if inv:is_empty("ingot") then
return
end
end
if fields["column_quarter_fancybase"] then
make_ok = "0"
anzahl = "2"
shape = "mymillwork:column_quarter_fancybase_"
if inv:is_empty("ingot") then
return
end
end
--Ceiling--------------------------------------------------
if fields["ceiling"] then
make_ok = "0"
anzahl = "6"
shape = "mymillwork:ceiling_"
if inv:is_empty("ingot") then
return
end
end
if fields["ceiling_post"] then
make_ok = "0"
anzahl = "4"
shape = "mymillwork:ceiling_post_"
if inv:is_empty("ingot") then
return
end
end
--Beam----------------------------------------------
if fields["beam"] then
make_ok = "0"
anzahl = "2"
shape = "mymillwork:beam_"
if inv:is_empty("ingot") then
return
end
end
if fields["beam_t"] then
make_ok = "0"
anzahl = "2"
shape = "mymillwork:beam_t_"
if inv:is_empty("ingot") then
return
end
end
if fields["beam_ceiling_t"] then
make_ok = "0"
anzahl = "2"
shape = "mymillwork:beam_ceiling_t_"
if inv:is_empty("ingot") then
return
end
end
--Base----------------------------------------------
if fields["base"] then
make_ok = "0"
anzahl = "8"
shape = "mymillwork:base_"
if inv:is_empty("ingot") then
return
end
end
if fields["base_ic"] then
make_ok = "0"
anzahl = "4"
shape = "mymillwork:base_ic_"
if inv:is_empty("ingot") then
return
end
end
if fields["base_oc"] then
make_ok = "0"
anzahl = "10"
shape = "mymillwork:base_oc_"
if inv:is_empty("ingot") then
return
end
end
if fields["base_fancy"] then
make_ok = "0"
anzahl = "6"
shape = "mymillwork:base_fancy_"
if inv:is_empty("ingot") then
return
end
end
if fields["base_fancy_ic"] then
make_ok = "0"
anzahl = "3"
shape = "mymillwork:base_fancy_ic_"
if inv:is_empty("ingot") then
return
end
end
if fields["base_fancy_oc"] then
make_ok = "0"
anzahl = "8"
shape = "mymillwork:base_fancy_oc_"
if inv:is_empty("ingot") then
return
end
end
local ingotstack = inv:get_stack("ingot", 1)
local resstack = inv:get_stack("res", 1)
----------------------------------------------------------------------
if ingotstack:get_name()=="default:sandstone" then
material = "default_sandstone"
make_ok = "1"
end
if ingotstack:get_name()=="default:desert_sand" then
material = "default_desert_sand"
make_ok = "1"
end
if ingotstack:get_name()=="default:clay" then
material = "default_clay"
make_ok = "1"
end
if ingotstack:get_name()=="wool:white" then
material = "millwork_white"
make_ok = "1"
end
if ingotstack:get_name()=="default:desert_stone" then
material = "default_desert_stone"
make_ok = "1"
end
if ingotstack:get_name()=="default:cobble" then
material = "default_cobble"
make_ok = "1"
end
if ingotstack:get_name()=="default:stone" then
material = "default_stone"
make_ok = "1"
end
if ingotstack:get_name()=="default:cactus" then
material = "default_cactus"
make_ok = "1"
end
if ingotstack:get_name()=="wool:white" then
material = "millwork_white"
make_ok = "1"
end
if ingotstack:get_name()=="default:sand" then
material = "default_sand"
make_ok = "1"
end
if ingotstack:get_name()=="default:wood" then
material = "default_wood"
make_ok = "1"
end
if ingotstack:get_name()=="default:pinewood" then
material = "default_pinewood"
make_ok = "1"
end
if ingotstack:get_name()=="default:dirt" then
material = "default_dirt"
make_ok = "1"
end
----------------------------------------------------------------------
if make_ok == "1" then
local give = {}
for i = 0, anzahl-1 do
give[i+1]=inv:add_item("res",shape..material)
end
ingotstack:take_item()
inv:set_stack("ingot",1,ingotstack)
end
end
end
})
--Craft
minetest.register_craft({
output = 'mymillwork:machine',
recipe = {
{'default:steelblock', 'default:steelblock', 'default:steelblock'},
{'default:steelblock', 'default:steel_ingot', 'default:steelblock'},
{'default:steelblock', "default:steelblock", 'default:steelblock'},
},
})

776
millwork.lua Normal file
View File

@ -0,0 +1,776 @@
function mymillwork.register_all(mat, desc, image, groups, craft)
minetest.register_node("mymillwork:crownmould_"..mat, {
description = desc.." Crown Mould",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, 0.5, 0.4375, 0.5, -0.5, 0.5},
{-0.5, 0.4375, 0.375, 0.5, 0.25, 0.5},
{-0.5, 0.125, 0.375, 0.5, -0.5, 0.5},
{-0.5, -0.0625, 0.3125, 0.5, -0.5, 0.5},
{-0.5, -0.1875, 0.25, 0.5, -0.5, 0.5},
{-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5},
{-0.5, -0.375, -0.4375, 0.5, -0.5, -0.25},
{-0.5, -0.375, -0.125, 0.5, -0.5, 0.5},
{-0.5, -0.3125, 0.0625, 0.5, -0.5, 0.5},
{-0.5, -0.25, 0.1875, 0.5, -0.5, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5,-0.5,-0.5,0.5,0.5,0.5},
},
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:crownmould_ic_"..mat, {
description = desc.." Crown Mould IC",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, 0.5, 0.4375, 0.5, -0.5, 0.5},
{-0.5, 0.4375, 0.375, 0.5, 0.25, 0.5},
{-0.5, 0.125, 0.375, 0.5, -0.5, 0.5},
{-0.5, -0.0625, 0.3125, 0.5, -0.5, 0.5},
{-0.5, -0.1875, 0.25, 0.5, -0.5, 0.5},
{-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5},
{-0.5, -0.375, -0.4375, 0.5, -0.5, -0.25},
{-0.5, -0.375, -0.125, 0.5, -0.5, 0.5},
{-0.5, -0.3125, 0.0625, 0.5, -0.5, 0.5},
{-0.5, -0.25, 0.1875, 0.5, -0.5, 0.5},
{0.4375, 0.5, -0.5, 0.5, -0.5, 0.5},
{0.375, 0.4375, -0.5, 0.5, 0.25, 0.5},
{0.375, 0.125, -0.5, 0.5, -0.5, 0.5},
{0.3125, -0.0625, -0.5, 0.5, -0.5, 0.5},
{0.25, -0.1875, -0.5, 0.5, -0.5, 0.5},
{-0.4375, -0.375, -0.5, -0.25, -0.5, 0.5},
{-0.125, -0.375, -0.5, 0.5, -0.5, 0.5},
{0.0625, -0.3125, -0.5, 0.5, -0.5, 0.5},
{0.1875, -0.25, -0.5, 0.5, -0.5, 0.5},
{-0.25, -0.375, -0.25, 0.5, -0.5, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5,-0.5,-0.5,0.5,0.5,0.5},
},
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:crownmould_oc_"..mat, {
description = desc.." Crown Mould OC",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5},
{-0.5, 0.5, 0.4375, -0.4375, -0.5, 0.5},
{-0.5, 0.4375, 0.375, -0.375, 0.25, 0.5},
{-0.5, 0.125, 0.375, -0.375, -0.5, 0.5},
{-0.5, -0.0625, 0.3125, -0.3125, -0.5, 0.5},
{-0.5, -0.1875, 0.25, -0.25, -0.5, 0.5},
{-0.5, -0.25, 0.1875, -0.1875, -0.5, 0.5},
{-0.5, -0.3125, 0.0625, -0.0625, -0.5, 0.5},
{-0.5, -0.375, -0.125, 0.125, -0.5, 0.5},
{-0.5, -0.375, -0.4375, 0.4375, -0.5, -0.25},
{0.25, -0.375, -0.4375, 0.4375, -0.5, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5,-0.5,-0.5,0.5,0.5,0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:crownmould_beam_"..mat, {
description = desc.." Crown Mould with Beam",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, 0.5, 0.4375, 0.5, -0.5, 0.5},
{-0.5, 0.4375, 0.375, 0.5, 0.25, 0.5},
{-0.5, 0.125, 0.375, 0.5, -0.5, 0.5},
{-0.5, -0.0625, 0.3125, 0.5, -0.5, 0.5},
{-0.5, -0.1875, 0.25, 0.5, -0.5, 0.5},
{-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5},
{-0.5, -0.375, -0.4375, 0.5, -0.5, -0.25},
{-0.5, -0.375, -0.125, 0.5, -0.5, 0.5},
{-0.5, -0.3125, 0.0625, 0.5, -0.5, 0.5},
{-0.5, -0.25, 0.1875, 0.5, -0.5, 0.5},
{-0.25, -0.25, -0.5, 0.25, -0.5, 0.5},
{-0.25, -0.1875, -0.5, -0.1875, -0.5, 0.5},
{0.1875, -0.1875, -0.5, 0.25, -0.5, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:column_" ..mat, {
description = desc.." Column",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.1875, 0.5, 0.5, 0.1875},
{-0.4375, -0.5, -0.3125, 0.4375, 0.5, 0.3125},
{-0.375, -0.5, -0.375, 0.375, 0.5, 0.375},
{-0.3125, -0.5, -0.4375, 0.3125, 0.5, 0.4375},
{-0.1875, -0.5, -0.5, 0.1875, 0.5, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5,-0.5,-0.5,0.5,0.5,0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:column_base_"..mat, {
description = desc.." Column Base",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.1875, 0.5, 0.5, 0.1875},
{-0.4375, -0.5, -0.3125, 0.4375, 0.5, 0.3125},
{-0.375, -0.5, -0.375, 0.375, 0.5, 0.375},
{-0.3125, -0.5, -0.4375, 0.3125, 0.5, 0.4375},
{-0.1875, -0.5, -0.5, 0.1875, 0.5, 0.5},
{-0.5, -0.5, -0.5, 0.5, -0.1875, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5,-0.5,-0.5,0.5,0.5,0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:column_half_"..mat, {
description = desc.." Half Column",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.3125, 0.5, 0.5, 0.5},
{-0.4375, -0.5, 0.1875, 0.4375, 0.5, 0.5},
{-0.375, -0.5, 0.125, 0.375, 0.5, 0.5},
{-0.3125, -0.5, 0.0625, 0.3125, 0.5, 0.4375},
{-0.1875, -0.5, 0, 0.1875, 0.5, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5,-0.5,0,0.5,0.5,0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:column_half_base_"..mat, {
description = desc.." Half Column Base",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.3125, 0.5, 0.5, 0.5},
{-0.1875, -0.5, 0, 0.1875, 0.5, 0.5},
{-0.4375, -0.5, 0.1875, 0.4375, 0.5, 0.5},
{-0.3125, -0.5, 0.0625, 0.3125, 0.5, 0.5},
{-0.375, -0.5, 0.125, 0.375, 0.5, 0.5},
{-0.5, -0.5, -0.0625, 0.5, -0.1875, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5,-0.5,-0.0625,0.5,0.5,0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:column_half_wbeam_"..mat, {
description = desc.." Half Column Base With Beam",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, 0.5, 0.3125, 0.5, -0.5, 0.5},
{-0.4375, 0.5, 0.1875, 0.4375, -0.5, 0.5},
{-0.375, 0.5, 0.125, 0.375, -0.5, 0.5},
{-0.3125, 0.5, 0.0625, 0.3125, -0.5, 0.4375},
{-0.1875, 0.5, 0, 0.1875, -0.5, 0.5},
{-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5},
{-0.25, -0.25, -0.5, 0.25, -0.5, 0.5},
{-0.25, -0.1875, -0.5, -0.1875, -0.5, 0.5},
{0.1875, -0.1875, -0.5, 0.25, -0.5, 0.5},
{-0.5, -0.375, -0.4375, 0.5, -0.5, -0.25},
{-0.5, -0.375, -0.125, 0.5, -0.5, 0.5},
{-0.5, -0.3125, 0.0625, 0.5, -0.5, 0.5},
{-0.5, -0.25, 0.1875, 0.5, -0.5, 0.5},
{-0.5, -0.1875, 0.25, 0.5, -0.5, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5,-0.5,-0.5,0.5,0.5,0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:column_quarter_"..mat, {
description = desc.." Quarter Column",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.3125, 0, 0.5, 0.5},
{-0.5, -0.5, 0, -0.3125, 0.5, 0.5},
{-0.5, -0.5, 0.1875, -0.0625, 0.5, 0.5},
{-0.5, -0.5, 0.0625, -0.1875, 0.5, 0.5},
{-0.5, -0.5, 0.125, -0.125, 0.5, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5,-0.5,0,0,0.5,0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:column_quarter_base_"..mat, {
description = desc.." Quarter Column Base",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.3125, 0, 0.5, 0.5},
{-0.5, -0.5, 0, -0.3125, 0.5, 0.5},
{-0.5, -0.5, 0.1875, -0.0625, 0.5, 0.5},
{-0.5, -0.5, 0.0625, -0.1875, 0.5, 0.5},
{-0.5, -0.5, 0.125, -0.125, 0.5, 0.5},
{-0.5, -0.5, -0.0625, 0.0625, -0.1875, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5,-0.5,-0.5,0.5,0.5,0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:column_quarter_wbase_"..mat, {
description = desc.." Quarter Column Base Baseboard",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.3125, 0, 0.5, 0.5},
{-0.5, -0.5, 0, -0.3125, 0.5, 0.5},
{-0.5, -0.5, 0.1875, -0.0625, 0.5, 0.5},
{-0.5, -0.5, 0.0625, -0.1875, 0.5, 0.5},
{-0.5, -0.5, 0.125, -0.125, 0.5, 0.5},
{-0.5, -0.5, -0.0625, 0.0625, -0.1875, 0.5},
{-0.5, -0.5, 0.4375, 0.5, -0.1875, 0.5},
{-0.4375, -0.5, -0.5, -0.5, -0.1875, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5,-0.5,-0.5,0.5,0.5,0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:column_quarter_fancybase_"..mat, {
description = desc.." Quarter Column Base Fancy Baseboard",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.3125, 0, 0.5, 0.5},
{-0.5, -0.5, 0, -0.3125, 0.5, 0.5},
{-0.5, -0.5, 0.1875, -0.0625, 0.5, 0.5},
{-0.5, -0.5, 0.0625, -0.1875, 0.5, 0.5},
{-0.5, -0.5, 0.125, -0.125, 0.5, 0.5},
{-0.5, -0.5, 0.3125, 0.5, -0.1875, 0.5},
{-0.5, -0.5, 0.4375, 0.5, 0.1875, 0.5},
{-0.5, -0.5, 0.375, 0.5, -0.0625, 0.5},
{-0.5, 0, 0.375, 0.5, 0.125, 0.5},
{-0.5, -0.5, -0.5, -0.4375, 0.1875, 0.5},
{-0.5, -0.5, -0.5, -0.3125, -0.1875, 0.5},
{-0.5, -0.5, -0.5, -0.375, -0.0625, 0.5},
{-0.5, 0, -0.5, -0.375, 0.125, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5,-0.5,-0.5,0.5,0.5,0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:ceiling_" ..mat, {
description = desc.." Ceiling",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:ceiling_post_"..mat, {
description = desc.." Ceiling with Post",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5},
{-0.125, 0.5, -0.0625, 0.125, -0.5, 0.0625},
{-0.0625, 0.5, -0.125, 0.0625, -0.5, 0.125},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5},
{-0.125, 0.5, -0.0625, 0.125, -0.5, 0.0625},
{-0.0625, 0.5, -0.125, 0.0625, -0.5, 0.125},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:beam_ceiling_"..mat, {
description = desc.." Ceiling with Beam",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.25, -0.1875, -0.5, -0.1875, -0.5, 0.5},
{-0.1875, -0.25, -0.5, 0.25, -0.5, 0.5},
{0.1875, -0.1875, -0.5, 0.25, -0.5, 0.5},
{-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.1875, -0.5, 0.5, -0.5, 0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:beam_ceiling_t_"..mat, {
description = desc.." Ceiling with Beam T",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.25, -0.1875, -0.5, -0.1875, -0.5, 0.5},
{-0.1875, -0.25, -0.5, 0.25, -0.5, 0.5},
{0.1875, -0.1875, -0.5, 0.25, -0.5, 0.5},
{-0.5, -0.25, -0.25, 0.5, -0.5, 0.25},
{-0.5, -0.1875, -0.25, 0.5, -0.5, -0.1875},
{-0.5, -0.1875, 0.1875, 0.5, -0.5, 0.25},
{-0.25, -0.1875, -0.25, 0.25, -0.5, 0.1875},
{-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.1875, -0.5, 0.5, -0.5, 0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:beam_" ..mat, {
description = desc.." Beam",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.25, -0.1875, -0.5, -0.1875, -0.5, 0.5},
{-0.1875, -0.25, -0.5, 0.25, -0.5, 0.5},
{0.1875, -0.1875, -0.5, 0.25, -0.5, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.25, -0.1875, -0.5, 0.25, -0.5, 0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:beam_t_"..mat, {
description = desc.." Beam T",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.25, -0.1875, -0.5, -0.1875, -0.5, 0.5},
{-0.1875, -0.25, -0.5, 0.25, -0.5, 0.5},
{0.1875, -0.1875, -0.5, 0.25, -0.5, 0.5},
{-0.5, -0.25, -0.25, 0.5, -0.5, 0.25},
{-0.5, -0.1875, -0.25, 0.5, -0.5, -0.1875},
{-0.5, -0.1875, 0.1875, 0.5, -0.5, 0.25},
{-0.25, -0.1875, -0.25, 0.25, -0.5, 0.1875},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.1875, -0.5, 0.5, -0.5, 0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:base_" ..mat, {
description = desc.." Baseboard",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.4375, 0.5, -0.1875, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.3375, 0.5, -0.0875, 0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:base_ic_"..mat, {
description = desc.." Baseboard IC",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.4375, 0.5, -0.1875, 0.5},
{-0.4375, -0.5, -0.5, -0.5, -0.1875, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.3375, 0.5, -0.0875, 0.5},
{-0.3375, -0.5, -0.5, -0.5, -0.0875, 0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:base_oc_"..mat, {
description = desc.." Baseboard OC",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.4375, -0.4375, -0.1875, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.3, -0.3, -0.1875, 0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:base_fancy_"..mat, {
description = desc.." Fancy Baseboard",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.3125, 0.5, -0.1875, 0.5},
{-0.5, -0.5, 0.4375, 0.5, 0.1875, 0.5},
{-0.5, -0.5, 0.375, 0.5, -0.0625, 0.5},
{-0.5, 0, 0.375, 0.5, 0.125, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.25, 0.5, 0.25, 0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:base_fancy_ic_"..mat, {
description = desc.." Fancy Baseboard IC",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.3125, 0.5, -0.1875, 0.5},
{-0.5, -0.5, 0.4375, 0.5, 0.1875, 0.5},
{-0.5, -0.5, 0.375, 0.5, -0.0625, 0.5},
{-0.5, 0, 0.375, 0.5, 0.125, 0.5},
{-0.5, -0.5, -0.5, -0.4375, 0.1875, 0.5},
{-0.5, -0.5, -0.5, -0.3125, -0.1875, 0.5},
{-0.5, -0.5, -0.5, -0.375, -0.0625, 0.5},
{-0.5, 0, -0.5, -0.375, 0.125, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.25, 0.5, 0.25, 0.5},
{-0.5, -0.5, -0.5, -0.25, 0.25, 0.5},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
minetest.register_node("mymillwork:base_fancy_oc_"..mat, {
description = desc.." Fancy Baseboard OC",
drawtype = "nodebox",
tiles = {image},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = true,
groups = {cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.3125, -0.3125, -0.1875, 0.5},
{-0.5, -0.5, 0.4375, -0.4375, 0.1875, 0.5},
{-0.5, -0.5, 0.375, -0.375, -0.0625, 0.5},
{-0.5, 0, 0.375, -0.375, 0.125, 0.5},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.5, -0.25, 0.25, 0.25},
}
},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
end

88
register.lua Normal file
View File

@ -0,0 +1,88 @@
mymillwork.register_all(--material, description, image, groups, craft item
"millwork_white",
"White",
"millwork_white.png",
"{cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1}",
"wool"
)
mymillwork.register_all(--material, description, image, groups, craft item
"default_sandstone",
"Sandstone",
"default_sandstone.png",
"{cracky = 1, oddly_breakable_by_hand = 1, not_in_creative_inventory=1}",
"default:sandstone"
)
mymillwork.register_all(--material, description, image, groups, craft item
"default_desert_sand",
"Desert Sand",
"default_desert_sand.png",
"{cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1}",
"default:desert_sand"
)
mymillwork.register_all(--material, description, image, groups, craft item
"default_clay",
"Clay",
"default_clay.png",
"{cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1}",
"default:clay"
)
mymillwork.register_all(--material, description, image, groups, craft item
"default_cobble",
"Cobble",
"default_cobble.png",
"{cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1}",
"default:cobble"
)
mymillwork.register_all(--material, description, image, groups, craft item
"default_stone",
"Stone",
"default_stone.png",
"{cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1}",
"default:stone"
)
mymillwork.register_all(--material, description, image, groups, craft item
"default_cactus",
"Cactus",
"default_cactus_side.png",
"{cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1}",
"default:cactus"
)
mymillwork.register_all(--material, description, image, groups, craft item
"default_sand",
"Sand",
"default_sand.png",
"{cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1}",
"default:sand"
)
mymillwork.register_all(--material, description, image, groups, craft item
"default_desert_stone",
"Desert Stone",
"default_desert_stone.png",
"{cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1}",
"default:desert_stone"
)
mymillwork.register_all(--material, description, image, groups, craft item
"default_wood",
"Wood",
"default_wood.png",
"{cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1}",
"default:wood"
)
mymillwork.register_all(--material, description, image, groups, craft item
"default_pinewood",
"Pine Wood",
"default_pinewood.png",
"{cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1}",
"default:pinewood"
)
mymillwork.register_all(--material, description, image, groups, craft item
"default_dirt",
"Dirt",
"default_dirt.png",
"{cracky = 1, oddly_breakable_by_hand = 1,not_in_creative_inventory=1}",
"default:dirt"
)

BIN
textures/millwork_white.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 575 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1023 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 996 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 582 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 876 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 B