1
0
mirror of https://github.com/mt-mods/homedecor_modpack.git synced 2025-09-15 05:15:26 +02:00

Compare commits

..

1 Commits

Author SHA1 Message Date
Vanessa Dannenberg
6c6cb347fd move door 3d models to "3d extras" mod
by extension, require its presence to cause doors to be 3d

for consistency with the appearance/style of mtg doors in worlds that
wouldn't normally use the 3d extras mod
2019-05-28 07:57:23 -04:00
67 changed files with 984 additions and 11949 deletions

View File

@@ -258,6 +258,33 @@ minetest.register_node("computer:tower", {
minetest.register_alias("computer:tower_on", "computer:tower") minetest.register_alias("computer:tower_on", "computer:tower")
-- Printer/scaner combo
minetest.register_node("computer:printer", {
description = S("Printer-Scanner Combo"),
inventory_image = "computer_printer_inv.png",
tiles = {"computer_printer_t.png","computer_printer_bt.png","computer_printer_l.png",
"computer_printer_r.png","computer_printer_b.png","computer_printer_f.png"},
paramtype = "light",
paramtype2 = "facedir",
walkable = true,
groups = {snappy=3},
sound = default.node_sound_wood_defaults(),
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-0.4375, -0.3125, -0.125, 0.4375, -0.0625, 0.375},
{-0.4375, -0.5, -0.125, 0.4375, -0.4375, 0.375},
{-0.4375, -0.5, -0.125, -0.25, -0.0625, 0.375},
{0.25, -0.5, -0.125, 0.4375, -0.0625, 0.375},
{-0.4375, -0.5, -0.0625, 0.4375, -0.0625, 0.375},
{-0.375, -0.4375, 0.25, 0.375, -0.0625, 0.4375},
{-0.25, -0.25, 0.4375, 0.25, 0.0625, 0.5},
{-0.25, -0.481132, -0.3125, 0.25, -0.4375, 0}
},
},
})
--Rack Server --Rack Server
minetest.register_node("computer:server", { minetest.register_node("computer:server", {
drawtype = "nodebox", drawtype = "nodebox",

View File

@@ -1,4 +1,2 @@
default default
homedecor_common homedecor_common
basic_materials
unifieddyes

View File

@@ -94,6 +94,6 @@ end
local MODPATH = minetest.get_modpath("computer") local MODPATH = minetest.get_modpath("computer")
dofile(MODPATH.."/computers.lua") dofile(MODPATH.."/computers.lua")
dofile(MODPATH.."/printers.lua") dofile(MODPATH.."/miscitems.lua")
dofile(MODPATH.."/recipes.lua") dofile(MODPATH.."/recipes.lua")
dofile(MODPATH.."/tetris.lua") dofile(MODPATH.."/tetris.lua")

68
computer/miscitems.lua Normal file
View File

@@ -0,0 +1,68 @@
-- Copyright (C) 2012-2013 Diego Martínez <kaeza@users.sf.net>
-- This file defines some items in order to not have to depend on other mods.
local S = homedecor.gettext
if (not minetest.get_modpath("homedecor")) then
minetest.register_craftitem(":basic_materials:plastic_sheet", {
description = S("Plastic sheet"),
inventory_image = "homedecor_plastic_sheeting.png",
})
minetest.register_craftitem(":homedecor:plastic_base", {
description = S("Unprocessed Plastic base"),
wield_image = "homedecor_plastic_base.png",
inventory_image = "homedecor_plastic_base_inv.png",
})
minetest.register_craft({
type = "shapeless",
output = 'homedecor:plastic_base 6',
recipe = { "default:junglegrass",
"default:junglegrass",
"default:junglegrass"
}
})
minetest.register_craft({
type = "shapeless",
output = 'homedecor:plastic_base 3',
recipe = { "default:dry_shrub",
"default:dry_shrub",
"default:dry_shrub"
},
})
minetest.register_craft({
type = "shapeless",
output = 'homedecor:plastic_base 4',
recipe = { "default:leaves",
"default:leaves",
"default:leaves",
"default:leaves",
"default:leaves",
"default:leaves"
}
})
minetest.register_craft({
type = "cooking",
output = "basic_materials:plastic_sheet",
recipe = "homedecor:plastic_base",
})
minetest.register_craft({
type = 'fuel',
recipe = 'homedecor:plastic_base',
burntime = 30,
})
minetest.register_craft({
type = 'fuel',
recipe = 'basic_materials:plastic_sheet',
burntime = 30,
})
end -- not homedecor

File diff suppressed because it is too large Load Diff

View File

@@ -1,61 +0,0 @@
-- Printers of some kind or another
local S = homedecor.gettext
minetest.register_node("computer:printer", {
description = S("Printer-Scanner Combo"),
inventory_image = "computer_printer_inv.png",
tiles = {"computer_printer_t.png","computer_printer_bt.png","computer_printer_l.png",
"computer_printer_r.png","computer_printer_b.png","computer_printer_f.png"},
paramtype = "light",
paramtype2 = "facedir",
walkable = true,
groups = {snappy=3},
sound = default.node_sound_wood_defaults(),
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-0.4375, -0.3125, -0.125, 0.4375, -0.0625, 0.375},
{-0.4375, -0.5, -0.125, 0.4375, -0.4375, 0.375},
{-0.4375, -0.5, -0.125, -0.25, -0.0625, 0.375},
{0.25, -0.5, -0.125, 0.4375, -0.0625, 0.375},
{-0.4375, -0.5, -0.0625, 0.4375, -0.0625, 0.375},
{-0.375, -0.4375, 0.25, 0.375, -0.0625, 0.4375},
{-0.25, -0.25, 0.4375, 0.25, 0.0625, 0.5},
{-0.25, -0.481132, -0.3125, 0.25, -0.4375, 0}
},
},
})
-- "bedflinger" style 3D Printer (Prusa i3 or equivalent)
local cbox = {
type = "fixed",
fixed = {-0.25, -0.25, -0.5, 0.3, 0.3, 0.25 }
}
minetest.register_node("computer:3dprinter_bedflinger", {
description = S('3D Printer ("bedflinger")'),
inventory_image = "computer_3dprinter_bedflinger_inv.png",
tiles = {
{ name = "computer_3dprinter_bedflinger.png", color = 0xffffffff },
"computer_3dprinter_filament.png"
},
paramtype = "light",
walkable = true,
groups = {snappy=3, ud_param2_colorable = 1},
sound = default.node_sound_wood_defaults(),
drawtype = "mesh",
mesh = "computer_3dprinter_bedflinger.obj",
paramtype2 = "colorwallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
selection_box = cbox,
collision_box = cbox,
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
end,
on_dig = unifieddyes.on_dig,
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
})

View File

@@ -1,3 +1,4 @@
local S = homedecor.gettext local S = homedecor.gettext
local shapes = { local shapes = {
@@ -219,10 +220,10 @@ local function step(pos, fields)
if fields then if fields then
if fields.new then if fields.new then
new_game(pos) new_game(pos)
elseif t then else
key(fields) key(fields)
end end
elseif t then else
run = tick() run = tick()
end end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 B

View File

@@ -3,80 +3,7 @@ local S = homedecor.gettext
screwdriver = screwdriver or {} screwdriver = screwdriver or {}
local function fire_particles_on(pos) -- 3 layers of fire local function start_smoke(pos, node, clicker, chimney)
local meta = minetest.get_meta(pos)
local id = minetest.add_particlespawner({ -- 1 layer big particles fire
amount = 9,
time = 0,
minpos = {x = pos.x - 0.2, y = pos.y - 0.4, z = pos.z - 0.2},
maxpos = {x = pos.x + 0.2, y = pos.y - 0.1, z = pos.z + 0.2},
minvel = {x= 0, y= 0, z= 0},
maxvel = {x= 0, y= 0.1, z= 0},
minacc = {x= 0, y= 0, z= 0},
maxacc = {x= 0, y= 0.7, z= 0},
minexptime = 0.5,
maxexptime = 0.7,
minsize = 2,
maxsize = 5,
collisiondetection = false,
vertical = true,
texture = "fake_fire_particle_anim_fire.png",
animation = {type="vertical_frames", aspect_w=16, aspect_h=16, length = 0.8,},
})
meta:set_int("layer_1", id)
local id = minetest.add_particlespawner({ -- 2 layer smol particles fire
amount = 1,
time = 0,
minpos = {x = pos.x - 0.1, y = pos.y, z = pos.z - 0.1},
maxpos = {x = pos.x + 0.1, y = pos.y + 0.4, z = pos.z + 0.1},
minvel = {x= 0, y= 0, z= 0},
maxvel = {x= 0, y= 0.1, z= 0},
minacc = {x= 0, y= 0, z= 0},
maxacc = {x= 0, y= 1, z= 0},
minexptime = 0.4,
maxexptime = 0.6,
minsize = 0.5,
maxsize = 0.7,
collisiondetection = false,
vertical = true,
texture = "fake_fire_particle_anim_fire.png",
animation = {type="vertical_frames", aspect_w=16, aspect_h=16, length = 0.7,},
})
meta:set_int("layer_2", id)
local id = minetest.add_particlespawner({ --3 layer smoke
amount = 1,
time = 0,
minpos = {x = pos.x - 0.1, y = pos.y - 0.2, z = pos.z - 0.1},
maxpos = {x = pos.x + 0.2, y = pos.y + 0.4, z = pos.z + 0.2},
minvel = {x= 0, y= 0, z= 0},
maxvel = {x= 0, y= 0.1, z= 0},
minacc = {x= 0, y= 0, z= 0},
maxacc = {x= 0, y= 1, z= 0},
minexptime = 0.6,
maxexptime = 0.8,
minsize = 2,
maxsize = 4,
collisiondetection = true,
vertical = true,
texture = "fake_fire_particle_anim_smoke.png",
animation = {type="vertical_frames", aspect_w=16, aspect_h=16, length = 0.9,},
})
meta:set_int("layer_3", id)
end
local function fire_particles_off(pos)
local meta = minetest.get_meta(pos)
local id_1 = meta:get_int("layer_1");
local id_2 = meta:get_int("layer_2");
local id_3 = meta:get_int("layer_3");
minetest.delete_particlespawner(id_1)
minetest.delete_particlespawner(id_2)
minetest.delete_particlespawner(id_3)
end
local function start_fire_effects(pos, node, clicker, chimney)
local this_spawner_meta = minetest.get_meta(pos) local this_spawner_meta = minetest.get_meta(pos)
local id = this_spawner_meta:get_int("smoky") local id = this_spawner_meta:get_int("smoky")
local s_handle = this_spawner_meta:get_int("sound") local s_handle = this_spawner_meta:get_int("sound")
@@ -114,7 +41,7 @@ local function start_fire_effects(pos, node, clicker, chimney)
max_hear_distance = 5, max_hear_distance = 5,
loop = true loop = true
}) })
fire_particles_on(pos) this_spawner_meta:set_int("smoky", id)
this_spawner_meta:set_int("sound", s_handle) this_spawner_meta:set_int("sound", s_handle)
end end
end end
@@ -156,7 +83,7 @@ minetest.register_node("fake_fire:ice_fire", {
aspect_w=16, aspect_h=16, length=1.5}}, aspect_w=16, aspect_h=16, length=1.5}},
}, },
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
start_fire_effects(pos, node, clicker) start_smoke(pos, node, clicker)
return itemstack return itemstack
end, end,
on_destruct = function (pos) on_destruct = function (pos)
@@ -170,11 +97,6 @@ minetest.register_node("fake_fire:ice_fire", {
minetest.register_alias("fake_fire:fake_fire", "fire:permanent_flame") minetest.register_alias("fake_fire:fake_fire", "fire:permanent_flame")
local sbox = {
type = 'fixed',
fixed = { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16},
}
minetest.register_node("fake_fire:fancy_fire", { minetest.register_node("fake_fire:fancy_fire", {
inventory_image = "fancy_fire_inv.png", inventory_image = "fancy_fire_inv.png",
description = S("Fancy Fire"), description = S("Fancy Fire"),
@@ -182,28 +104,21 @@ minetest.register_node("fake_fire:fancy_fire", {
mesh = "fancy_fire.obj", mesh = "fancy_fire.obj",
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
groups = {oddly_breakable_by_hand=3, flammable=0}, groups = {dig_immediate=3},
sunlight_propagates = true, sunlight_propagates = true,
light_source = 13, light_source = 14,
walkable = false, walkable = false,
buildable_to = false, damage_per_second = 4,
damage_per_second = 3, on_rotate = screwdriver.rotate_simple,
selection_box = sbox,
tiles = { tiles = {
"basic_materials_concrete_block.png", {name="fake_fire_animated.png",
"default_junglewood.png", animation={type='vertical_frames', aspect_w=16, aspect_h=16, length=1}}, {name='fake_fire_logs.png'}},
"fake_fire_empty_tile.png"
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
fire_particles_on(pos) start_smoke(pos, node, clicker)
return itemstack return itemstack
end, end,
on_construct = function(pos) on_destruct = function (pos)
local meta = minetest.get_meta(pos) stop_smoke(pos)
fire_particles_on(pos)
end,
on_destruct = function(pos, oldnode, oldmetadata, digger)
fire_particles_off(pos)
minetest.sound_play("fire_extinguish", { minetest.sound_play("fire_extinguish", {
pos = pos, max_hear_distance = 5 pos = pos, max_hear_distance = 5
}) })
@@ -217,7 +132,7 @@ minetest.register_node("fake_fire:fancy_fire", {
} }
} }
} }
}) })
-- EMBERS -- EMBERS
minetest.register_node("fake_fire:embers", { minetest.register_node("fake_fire:embers", {
@@ -253,7 +168,7 @@ for _, mat in ipairs(materials) do
}, },
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
local chimney = 1 local chimney = 1
start_fire_effects(pos, node, clicker, chimney) start_smoke(pos, node, clicker, chimney)
return itemstack return itemstack
end, end,
on_destruct = function (pos) on_destruct = function (pos)
@@ -294,22 +209,8 @@ minetest.register_craft({
}) })
-- ALIASES -- ALIASES
minetest.register_alias("fake_fire:smokeless_fire", "fake_fire:fake_fire") minetest.register_alias("fake_fire:smokeless_fire", "fake_fire:fake_fire")
minetest.register_alias("fake_fire:smokeless_ice_fire", "fake_fire:ice_fire") minetest.register_alias("fake_fire:smokeless_ice_fire", "fake_fire:ice_fire")
minetest.register_alias("fake_fire:smokeless_chimney_top_stone", "fake_fire:chimney_top_stone") minetest.register_alias("fake_fire:smokeless_chimney_top_stone", "fake_fire:chimney_top_stone")
minetest.register_alias("fake_fire:smokeless_chimney_top_sandstone", "fake_fire:chimney_top_sandstone") minetest.register_alias("fake_fire:smokeless_chimney_top_sandstone", "fake_fire:chimney_top_sandstone")
minetest.register_alias("fake_fire:flint", "fake_fire:flint_and_steel") minetest.register_alias("fake_fire:flint", "fake_fire:flint_and_steel")
-- OTHER
minetest.register_lbm({
name = "fake_fire:reload_particles",
label = "restart fire particles on reload",
nodenames = {"fake_fire:fancy_fire"},
run_at_every_load = true,
action = function(pos, node)
fire_particles_off(pos)
fire_particles_on(pos)
end
})

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 B

View File

@@ -89,19 +89,28 @@ end
-- 3d-ify default mtg wood and steel doors and trap doors -- 3d-ify default mtg wood and steel doors and trap doors
if minetest.get_modpath("doors") then if minetest.get_modpath("doors") then
local function clone_node(name)
local node2 = {}
local node = minetest.registered_nodes[name]
for k,v in pairs(node) do
node2[k]=v
end
return node2
end
local def local def
for _,mat in ipairs({"wood", "steel"}) do for _,mat in ipairs({"wood", "steel"}) do
def = table.copy(minetest.registered_nodes["doors:door_"..mat.."_a"]) def = clone_node("doors:door_"..mat.."_a")
def.mesh = "homedecor_3d_door_"..mat.."_a.obj" def.mesh = "homedecor_3d_door_"..mat.."_a.obj"
minetest.register_node(":doors:door_"..mat.."_a", def) minetest.register_node(":doors:door_"..mat.."_a", def)
def = table.copy(minetest.registered_nodes["doors:door_"..mat.."_b"]) def = clone_node("doors:door_"..mat.."_b")
def.mesh = "homedecor_3d_door_"..mat.."_b.obj" def.mesh = "homedecor_3d_door_"..mat.."_b.obj"
minetest.register_node(":doors:door_"..mat.."_b", def) minetest.register_node(":doors:door_"..mat.."_b", def)
end end
for _,mat in ipairs({"", "_steel"}) do for _,mat in ipairs({"", "_steel"}) do
def = table.copy(minetest.registered_nodes["doors:trapdoor"..mat]) def = clone_node("doors:trapdoor"..mat)
def.drawtype = "mesh" def.drawtype = "mesh"
def.mesh = "homedecor_3d_trapdoor"..mat..".obj" def.mesh = "homedecor_3d_trapdoor"..mat..".obj"
def.tiles = { def.tiles = {
@@ -110,7 +119,7 @@ if minetest.get_modpath("doors") then
} }
minetest.register_node(":doors:trapdoor"..mat, def) minetest.register_node(":doors:trapdoor"..mat, def)
def = table.copy(minetest.registered_nodes["doors:trapdoor"..mat.."_open"]) def = clone_node("doors:trapdoor"..mat.."_open")
def.mesh = "homedecor_3d_trapdoor"..mat.."_open.obj" def.mesh = "homedecor_3d_trapdoor"..mat.."_open.obj"
def.drawtype = "mesh" def.drawtype = "mesh"
def.tiles = { def.tiles = {

View File

@@ -15,7 +15,6 @@ minetest.register_node(":homedecor:bathroom_tiles_dark", {
groups = {cracky=3, ud_param2_colorable = 1}, groups = {cracky=3, ud_param2_colorable = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
on_construct = unifieddyes.on_construct, on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig,
}) })
minetest.register_node(":homedecor:bathroom_tiles_medium", { minetest.register_node(":homedecor:bathroom_tiles_medium", {
@@ -32,7 +31,6 @@ minetest.register_node(":homedecor:bathroom_tiles_medium", {
groups = {cracky=3, ud_param2_colorable = 1}, groups = {cracky=3, ud_param2_colorable = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
on_construct = unifieddyes.on_construct, on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig,
}) })
minetest.register_node(":homedecor:bathroom_tiles_light", { minetest.register_node(":homedecor:bathroom_tiles_light", {
@@ -49,7 +47,6 @@ minetest.register_node(":homedecor:bathroom_tiles_light", {
groups = {cracky=3, ud_param2_colorable = 1}, groups = {cracky=3, ud_param2_colorable = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
on_construct = unifieddyes.on_construct, on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig,
}) })
local tr_cbox = { local tr_cbox = {

View File

@@ -59,7 +59,6 @@ homedecor.register("bed_regular", {
after_dig_node = function(pos, oldnode, oldmetadata, digger) after_dig_node = function(pos, oldnode, oldmetadata, digger)
homedecor.unextend_bed(pos) homedecor.unextend_bed(pos)
end, end,
on_dig = unifieddyes.on_dig,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
local itemname = itemstack:get_name() local itemname = itemstack:get_name()
if itemname == "homedecor:bed_regular" then if itemname == "homedecor:bed_regular" then
@@ -93,7 +92,6 @@ homedecor.register("bed_extended", {
after_dig_node = function(pos, oldnode, oldmetadata, digger) after_dig_node = function(pos, oldnode, oldmetadata, digger)
homedecor.unextend_bed(pos) homedecor.unextend_bed(pos)
end, end,
on_dig = unifieddyes.on_dig,
-- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) -- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
-- homedecor.beds_on_rightclick(pos, node, clicker) -- homedecor.beds_on_rightclick(pos, node, clicker)
-- return itemstack -- return itemstack
@@ -130,7 +128,6 @@ homedecor.register("bed_kingsize", {
inv:add_item("main", "homedecor:bed_regular 2") inv:add_item("main", "homedecor:bed_regular 2")
end end
end, end,
on_dig = unifieddyes.on_dig,
-- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) -- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
-- homedecor.beds_on_rightclick(pos, node, clicker) -- homedecor.beds_on_rightclick(pos, node, clicker)
-- return itemstack -- return itemstack

View File

@@ -25,7 +25,7 @@ minetest.register_node(":homedecor:cobweb_corner", {
end end
}) })
minetest.register_node(":homedecor:cobweb_centered", { minetest.register_node(":Lhomedecor:cobweb_centered", {
description = S("Cobweb"), description = S("Cobweb"),
drawtype = "nodebox", drawtype = "nodebox",
tiles = { "homedecor_cobweb.png" }, tiles = { "homedecor_cobweb.png" },

View File

@@ -1,3 +1,3 @@
default default
creative creative
intllib?

View File

@@ -80,7 +80,7 @@ local furnace_can_dig = function(pos,player)
end end
function homedecor.register_furnace(name, furnacedef) function homedecor.register_furnace(name, furnacedef)
furnacedef.fire_fg = furnacedef.fire_fg or "default_furnace_fire_fg.png" furnacedef.fire_fg = furnacedef.fire_bg or "default_furnace_fire_fg.png"
furnacedef.fire_bg = furnacedef.fire_bg or "default_furnace_fire_bg.png" furnacedef.fire_bg = furnacedef.fire_bg or "default_furnace_fire_bg.png"
furnacedef.output_slots = furnacedef.output_slots or 4 furnacedef.output_slots = furnacedef.output_slots or 4

View File

Before

Width:  |  Height:  |  Size: 524 B

After

Width:  |  Height:  |  Size: 524 B

0
homedecor_common/tools/updatepo.sh Normal file → Executable file
View File

View File

@@ -3,6 +3,17 @@
local S = homedecor.gettext local S = homedecor.gettext
local mesecons_mp = minetest.get_modpath("mesecons") local mesecons_mp = minetest.get_modpath("mesecons")
-- clone node
function hd_doors_clone_node(name)
local node2 = {}
local node = minetest.registered_nodes[name]
for k,v in pairs(node) do
node2[k]=v
end
return node2
end
-- new doors using minetest_game doors API -- new doors using minetest_game doors API
local door_list = { local door_list = {
@@ -29,41 +40,41 @@ local door_list = {
custom_model = "homedecor_door_fancy" custom_model = "homedecor_door_fancy"
}, },
{ name = "french_oak", { name = "wood_glass_oak",
description = "French door, Oak-colored", description = "Glass and Wood, Oak-colored",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = { sounds = {
main = default.node_sound_glass_defaults(), main = default.node_sound_glass_defaults(),
}, },
backface = true, backface = true,
alpha = true, alpha = true,
custom_model = "homedecor_door_french" custom_model = "homedecor_door_wood_glass"
}, },
{ name = "french_mahogany", { name = "wood_glass_mahogany",
description = "French door, Mahogany-colored", description = "Glass and Wood, Mahogany-colored",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = { sounds = {
main = default.node_sound_glass_defaults(), main = default.node_sound_glass_defaults(),
}, },
backface = true, backface = true,
alpha = true, alpha = true,
custom_model = "homedecor_door_french" custom_model = "homedecor_door_wood_glass"
}, },
{ name = "french_white", { name = "wood_glass_white",
description = "French door, White", description = "Glass and Wood, White",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = { sounds = {
main = default.node_sound_glass_defaults(), main = default.node_sound_glass_defaults(),
}, },
backface = true, backface = true,
alpha = true, alpha = true,
custom_model = "homedecor_door_french" custom_model = "homedecor_door_wood_glass"
}, },
{ name = "basic_panel", { name = "bedroom",
description = "Basic white panel Door", description = "White Bedroom Door",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = { sounds = {
main = default.node_sound_wood_defaults(), main = default.node_sound_wood_defaults(),
@@ -84,8 +95,8 @@ local door_list = {
custom_model = "homedecor_door_wrought_iron" custom_model = "homedecor_door_wrought_iron"
}, },
{ name = "carolina", { name = "woodglass2",
description = "Wooden Carolina door", description = "Wooden door with glass insert, type 2",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = { sounds = {
main = default.node_sound_wood_defaults(), main = default.node_sound_wood_defaults(),
@@ -155,7 +166,7 @@ end
local hd_3d = minetest.get_modpath("homedecor_3d_extras") local hd_3d = minetest.get_modpath("homedecor_3d_extras")
for _, door in ipairs(door_list) do for _, door in ipairs(door_list) do
doors.register("homedecor_"..door.name, { doors.register(door.name, {
tiles = {{ name = "homedecor_door_"..door.name..".png", backface_culling = door.backface }}, tiles = {{ name = "homedecor_door_"..door.name..".png", backface_culling = door.backface }},
description = door.description, description = door.description,
inventory_image = "homedecor_door_"..door.name.."_inv.png", inventory_image = "homedecor_door_"..door.name.."_inv.png",
@@ -166,35 +177,33 @@ for _, door in ipairs(door_list) do
mesecons = mesecons mesecons = mesecons
}) })
local nn_a = "doors:homedecor_"..door.name.."_a" local nn_a = "doors:"..door.name.."_a"
local nn_b = "doors:homedecor_"..door.name.."_b" local nn_b = "doors:"..door.name.."_b"
if door.alpha then if door.alpha then
local def = table.copy(minetest.registered_nodes[nn_a]) local def = hd_doors_clone_node(nn_a)
def.use_texture_alpha = true def.use_texture_alpha = true
def.mesh = "door_a.obj" -- leaving this out will break the _a model def.mesh = "door_a.obj" -- leaving this out will break the _a model
minetest.register_node(":"..nn_a, def) -- assignment when the override takes place minetest.register_node(":"..nn_a, def) -- assignment when the override takes place
def = table.copy(minetest.registered_nodes[nn_b]) def = hd_doors_clone_node(nn_b)
def.use_texture_alpha = true def.use_texture_alpha = true
minetest.register_node(":"..nn_b, def) minetest.register_node(":"..nn_b, def)
end end
if door.custom_model and hd_3d then if door.custom_model and hd_3d then
def = table.copy(minetest.registered_nodes[nn_a]) def = hd_doors_clone_node(nn_a)
def.mesh = door.custom_model.."_a.obj" def.mesh = door.custom_model.."_a.obj"
minetest.register_node(":"..nn_a, def) minetest.register_node(":"..nn_a, def)
def = table.copy(minetest.registered_nodes[nn_b]) def = hd_doors_clone_node(nn_b)
def.mesh = door.custom_model.."_b.obj" def.mesh = door.custom_model.."_b.obj"
minetest.register_node(":"..nn_b, def) minetest.register_node(":"..nn_b, def)
end end
old_doors[#old_doors + 1] = "homedecor:door_"..door.name.."_left" old_doors[#old_doors + 1] = "homedecor:door_"..door.name.."_left"
old_doors[#old_doors + 1] = "homedecor:door_"..door.name.."_right" old_doors[#old_doors + 1] = "homedecor:door_"..door.name.."_right"
minetest.register_alias("doors:"..door.name.."_a", "doors:homedecor_"..door.name.."_a")
minetest.register_alias("doors:"..door.name.."_b", "doors:homedecor_"..door.name.."_b")
end end
-- Gates -- Gates
@@ -457,8 +466,8 @@ minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "homedecor:gate_half_door_closed 4", output = "homedecor:gate_half_door_closed 4",
recipe = { recipe = {
"doors:homedecor_wood_plain_a", "homedecor:door_wood_plain_a",
"doors:homedecor_wood_plain_a" "homedecor:door_wood_plain_a"
}, },
}) })
@@ -466,8 +475,8 @@ minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "homedecor:gate_half_door_white_closed 4", output = "homedecor:gate_half_door_white_closed 4",
recipe = { recipe = {
"doors:homedecor_bedroom_a", "homedecor:door_bedroom_a",
"doors:homedecor_bedroom_a" "homedecor:door_bedroom_a"
}, },
}) })
@@ -542,7 +551,7 @@ minetest.register_craft( {
-- plain wood, non-windowed -- plain wood, non-windowed
minetest.register_craft( { minetest.register_craft( {
output = "doors:homedecor_wood_plain 2", output = "homedecor:door_wood_plain_a 2",
recipe = { recipe = {
{ "group:wood", "group:wood", "" }, { "group:wood", "group:wood", "" },
{ "group:wood", "group:wood", "default:steel_ingot" }, { "group:wood", "group:wood", "default:steel_ingot" },
@@ -553,7 +562,7 @@ minetest.register_craft( {
-- fancy exterior -- fancy exterior
minetest.register_craft( { minetest.register_craft( {
output = "doors:homedecor_exterior_fancy 2", output = "homedecor:door_exterior_fancy_a 2",
recipe = { recipe = {
{ "group:wood", "default:glass" }, { "group:wood", "default:glass" },
{ "group:wood", "group:wood" }, { "group:wood", "group:wood" },
@@ -561,10 +570,12 @@ minetest.register_craft( {
}, },
}) })
-- French style wood/glass -- wood and glass (grid style)
-- bare
minetest.register_craft( { minetest.register_craft( {
output = "doors:homedecor_french_oak 2", output = "homedecor:door_wood_glass_oak_a 2",
recipe = { recipe = {
{ "default:glass", "group:wood" }, { "default:glass", "group:wood" },
{ "group:wood", "default:glass" }, { "group:wood", "default:glass" },
@@ -573,7 +584,7 @@ minetest.register_craft( {
}) })
minetest.register_craft( { minetest.register_craft( {
output = "doors:homedecor_french_oak 2", output = "homedecor:door_wood_glass_oak_a 2",
recipe = { recipe = {
{ "group:wood", "default:glass" }, { "group:wood", "default:glass" },
{ "default:glass", "group:wood" }, { "default:glass", "group:wood" },
@@ -581,23 +592,27 @@ minetest.register_craft( {
}, },
}) })
-- mahogany
minetest.register_craft( { minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "doors:homedecor_french_mahogany 2", output = "homedecor:door_wood_glass_mahogany_a 2",
recipe = { recipe = {
"dye:brown", "dye:brown",
"doors:homedecor_french_oak", "homedecor:door_wood_glass_oak_a",
"doors:homedecor_french_oak" "homedecor:door_wood_glass_oak_a"
}, },
}) })
-- white
minetest.register_craft( { minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "doors:homedecor_french_white 2", output = "homedecor:door_wood_glass_white_a 2",
recipe = { recipe = {
"dye:white", "dye:white",
"doors:homedecor_french_oak", "homedecor:door_wood_glass_oak_a",
"doors:homedecor_french_oak" "homedecor:door_wood_glass_oak_a"
}, },
}) })
@@ -606,7 +621,7 @@ minetest.register_craft( {
-- oak -- oak
minetest.register_craft( { minetest.register_craft( {
output = "doors:homedecor_closet_oak 2", output = "homedecor:door_closet_oak_a 2",
recipe = { recipe = {
{ "", "group:stick", "group:stick" }, { "", "group:stick", "group:stick" },
{ "default:steel_ingot", "group:stick", "group:stick" }, { "default:steel_ingot", "group:stick", "group:stick" },
@@ -618,18 +633,18 @@ minetest.register_craft( {
minetest.register_craft( { minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "doors:homedecor_closet_mahogany 2", output = "homedecor:door_closet_mahogany_a 2",
recipe = { recipe = {
"doors:homedecor_closet_oak", "homedecor:door_closet_oak_a",
"doors:homedecor_closet_oak", "homedecor:door_closet_oak_a",
"dye:brown" "dye:brown"
}, },
}) })
-- wrought iron fence-like door -- wrought fence-like door
minetest.register_craft( { minetest.register_craft( {
output = "doors:homedecor_wrought_iron 2", output = "homedecor:door_wrought_iron_a 2",
recipe = { recipe = {
{ "homedecor:pole_wrought_iron", "default:iron_lump" }, { "homedecor:pole_wrought_iron", "default:iron_lump" },
{ "homedecor:pole_wrought_iron", "default:iron_lump" }, { "homedecor:pole_wrought_iron", "default:iron_lump" },
@@ -637,21 +652,21 @@ minetest.register_craft( {
}, },
}) })
-- bedroom/panel door -- bedroom door
minetest.register_craft( { minetest.register_craft( {
output = "doors:homedecor_basic_panel", output = "homedecor:door_bedroom_a",
recipe = { recipe = {
{ "dye:white", "dye:white", "" }, { "dye:white", "dye:white", "" },
{ "doors:homedecor_wood_plain", "basic_materials:brass_ingot", "" }, { "homedecor:door_wood_plain_a", "basic_materials:brass_ingot", "" },
{ "", "", "" }, { "", "", "" },
}, },
}) })
-- basic wood/glass single-lite door -- woodglass door
minetest.register_craft( { minetest.register_craft( {
output = "doors:homedecor_woodglass", output = "homedecor:door_woodglass_a",
recipe = { recipe = {
{ "group:wood", "default:glass", "" }, { "group:wood", "default:glass", "" },
{ "group:wood", "default:glass", "basic_materials:brass_ingot" }, { "group:wood", "default:glass", "basic_materials:brass_ingot" },
@@ -659,10 +674,10 @@ minetest.register_craft( {
}, },
}) })
-- "Carolina" door -- woodglass door type 2
minetest.register_craft( { minetest.register_craft( {
output = "doors:homedecor_carolina", output = "homedecor:door_woodglass2_a",
recipe = { recipe = {
{ "default:glass", "default:glass", "" }, { "default:glass", "default:glass", "" },
{ "group:wood", "group:wood", "default:iron_lump" }, { "group:wood", "group:wood", "default:iron_lump" },
@@ -682,63 +697,18 @@ minetest.register_craft({
-- aliases -- aliases
minetest.register_alias("homedecor:jpn_door_top", "air") minetest.register_alias("homedecor:jpn_door_top", "air")
minetest.register_alias("homedecor:jpn_door_top_open", "air")
minetest.register_alias("homedecor:jpn_door_bottom", "homedecor:door_japanese_closed") minetest.register_alias("homedecor:jpn_door_bottom", "homedecor:door_japanese_closed")
minetest.register_alias("homedecor:jpn_door_top_open", "air")
minetest.register_alias("homedecor:jpn_door_bottom_open", "homedecor:door_japanese_open") minetest.register_alias("homedecor:jpn_door_bottom_open", "homedecor:door_japanese_open")
minetest.register_alias("homedecor:door_glass_right", "doors:door_glass_b") minetest.register_alias("homedecor:door_glass_right", "doors:door_glass_b")
minetest.register_alias("homedecor:door_glass_left", "doors:door_glass_a") minetest.register_alias("homedecor:door_glass_left", "doors:door_glass_a")
minetest.register_alias("doors:wood_glass_oak_a", "doors:homedecor_french_oak_a")
minetest.register_alias("doors:wood_glass_oak_b", "doors:homedecor_french_oak_b")
minetest.register_alias("doors:wood_glass_white_a", "doors:homedecor_french_white_a")
minetest.register_alias("doors:wood_glass_white_b", "doors:homedecor_french_white_b")
minetest.register_alias("doors:wood_glass_mahogany_a", "doors:homedecor_french_mahogany_a")
minetest.register_alias("doors:wood_glass_mahogany_b", "doors:homedecor_french_mahogany_b")
minetest.register_alias("doors:homedecor_wood_glass_oak_a", "doors:homedecor_french_oak_a")
minetest.register_alias("doors:homedecor_wood_glass_oak_b", "doors:homedecor_french_oak_b")
minetest.register_alias("doors:homedecor_wood_glass_white_a", "doors:homedecor_french_white_a")
minetest.register_alias("doors:homedecor_wood_glass_white_b", "doors:homedecor_french_white_b")
minetest.register_alias("doors:homedecor_wood_glass_mahogany_a", "doors:homedecor_french_mahogany_a")
minetest.register_alias("doors:homedecor_wood_glass_mahogany_b", "doors:homedecor_french_mahogany_b")
minetest.register_alias("doors:homedecor_woodglass2_a", "doors:homedecor_carolina_a")
minetest.register_alias("doors:homedecor_woodglass2_b", "doors:homedecor_carolina_b")
minetest.register_alias("doors:woodglass2_a", "doors:homedecor_carolina_a")
minetest.register_alias("doors:woodglass2_b", "doors:homedecor_carolina_b")
minetest.register_alias("doors:homedecor_bedroom_a", "doors:homedecor_basic_panel_a")
minetest.register_alias("doors:homedecor_bedroom_b", "doors:homedecor_basic_panel_b")
minetest.register_alias("doors:bedroom_a", "doors:homedecor_basic_panel_a")
minetest.register_alias("doors:bedroom_b", "doors:homedecor_basic_panel_b")
-- flip old homedecor doors around, since they use minetest_game doors API now -- flip old homedecor doors around, since they use minetest_game doors API now
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_oak_left"
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_oak_right"
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_white_left"
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_white_right"
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_mahogany_left"
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_mahogany_right"
old_doors[#old_doors + 1] = "homedecor:door_woodglass2_left"
old_doors[#old_doors + 1] = "homedecor:door_woodglass2_right"
old_doors[#old_doors + 1] = "homedecor:door_bedroom_left"
old_doors[#old_doors + 1] = "homedecor:door_bedroom_right"
minetest.register_lbm({ minetest.register_lbm({
name = ":homedecor:convert_doors_3", name = ":homedecor:convert_doors",
label = "Convert Homedecor doors to mtg doors API", label = "Convert Homedecor doors to mtg doors API",
nodenames = old_doors, nodenames = old_doors,
run_at_every_load = false, run_at_every_load = false,
@@ -747,12 +717,10 @@ minetest.register_lbm({
local newparam2 = (node.param2 + 2) % 4 local newparam2 = (node.param2 + 2) % 4
local e = string.find(node.name, "_", -7) local e = string.find(node.name, "_", -7)
local dir = string.sub(node.name, e+1) local dir = string.sub(node.name, e+1)
local newname = "doors:homedecor_"..string.sub(node.name, 16, e-1) local newname = "doors:"..string.sub(node.name, 16, e-1)
if dir == "right" then if dir == "right" then
print("Want to replace "..node.name.." with "..newname.."_a")
minetest.set_node(pos, {name = newname.."_a", param2 = newparam2 }) minetest.set_node(pos, {name = newname.."_a", param2 = newparam2 })
else else
print("Want to replace "..node.name.." with "..newname.."_b")
minetest.set_node(pos, {name = newname.."_b", param2 = newparam2 }) minetest.set_node(pos, {name = newname.."_b", param2 = newparam2 })
end end
minetest.set_node({x=pos.x, y=pos.y+1, z=pos.z}, {name = "doors:hidden"}) minetest.set_node({x=pos.x, y=pos.y+1, z=pos.z}, {name = "doors:hidden"})

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 591 B

After

Width:  |  Height:  |  Size: 591 B

View File

@@ -2,10 +2,9 @@
local S = homedecor.gettext local S = homedecor.gettext
function homedecor.toggle_switch(pos, node, clicker, itemstack, pointed_thing) function homedecor.toggle_switch(pos, node, clicker, itemstack, pointed_thing)
if not clicker then return false end if minetest.is_protected(pos, clicker:get_player_name()) then
local playername = clicker:get_player_name() minetest.record_protection_violation(pos,
if minetest.is_protected(pos, playername) then sender:get_player_name())
minetest.record_protection_violation(pos, playername)
return false return false
end end
local sep = string.find(node.name, "_o", -5) local sep = string.find(node.name, "_o", -5)
@@ -16,6 +15,8 @@ function homedecor.toggle_switch(pos, node, clicker, itemstack, pointed_thing)
end end
local on_rc local on_rc
local switch_receptor
if minetest.get_modpath("mesecons") then if minetest.get_modpath("mesecons") then
on_rc = function(pos, node, clicker, itemstack, pointed_thing) on_rc = function(pos, node, clicker, itemstack, pointed_thing)
local t = homedecor.toggle_switch(pos, node, clicker, itemstack, pointed_thing) local t = homedecor.toggle_switch(pos, node, clicker, itemstack, pointed_thing)
@@ -26,6 +27,12 @@ if minetest.get_modpath("mesecons") then
mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node)) mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
end end
end end
switch_receptor = {
receptor = {
state = mesecon.state[onoff],
rules = mesecon.rules.buttonlike_get
}
}
end end
homedecor.register("power_outlet", { homedecor.register("power_outlet", {
@@ -57,16 +64,6 @@ homedecor.register("power_outlet", {
for _, onoff in ipairs ({"on", "off"}) do for _, onoff in ipairs ({"on", "off"}) do
local switch_receptor
if minetest.get_modpath("mesecons") then
switch_receptor = {
receptor = {
state = mesecon.state[onoff],
rules = mesecon.rules.buttonlike_get
}
}
end
local model = { local model = {
{ -0.125, -0.1875, 0.4375, 0.125, 0.125, 0.5 }, { -0.125, -0.1875, 0.4375, 0.125, 0.125, 0.5 },
{ -0.03125, 0, 0.40625, 0.03125, 0.0625, 0.5 }, { -0.03125, 0, 0.40625, 0.03125, 0.0625, 0.5 },

View File

@@ -2,7 +2,6 @@ homedecor_common
default default
dye dye
creative creative
basic_materials
moreblocks? moreblocks?
building_blocks? building_blocks?
bucket? bucket?

View File

@@ -349,7 +349,7 @@ minetest.register_craft({
recipe = { recipe = {
{ "","homedecor:fence_chainlink","" }, { "","homedecor:fence_chainlink","" },
{ "default:steel_ingot","fake_fire:embers","default:steel_ingot" }, { "default:steel_ingot","fake_fire:embers","default:steel_ingot" },
{ "basic_materials:steel_bar","default:steel_ingot","basic_materials:steel_bar" } { "homedecor:pole_wrought_iron","default:steel_ingot","homedecor:pole_wrought_iron" }
}, },
}) })

View File

@@ -1,5 +1,19 @@
-- This file adds fences of various types -- This file adds fences of various types
local signs_modpath = minetest.get_modpath("signs_lib")
local sign_post_model = {
type = "fixed",
fixed = {
{-0.4375, -0.25, -0.1875, 0.4375, 0.375, -0.125},
{-0.125, -0.5, -0.125, 0.125, 0.5, 0.125},
}
}
if signs_modpath then
sign_post_model = signs_lib.sign_post_model.nodebox
end
local S = homedecor.gettext local S = homedecor.gettext
local materials = { local materials = {
@@ -9,9 +23,9 @@ local materials = {
for _, m in ipairs(materials) do for _, m in ipairs(materials) do
local desc, name = unpack(m) local desc, name = unpack(m)
homedecor.register("fence_"..name, { homedecor.register("fence_"..name, {
description = S("Fence/railing (@1)", desc), description = S("Fence/railing (@1)", desc),
drawtype = "fencelike", drawtype = "fencelike",
tiles = {"homedecor_generic_metal_"..name..".png"}, tiles = {"homedecor_generic_metal_"..name..".png"},
@@ -19,7 +33,33 @@ for _, m in ipairs(materials) do
selection_box = homedecor.nodebox.bar_y(1/7), selection_box = homedecor.nodebox.bar_y(1/7),
groups = {snappy=3}, groups = {snappy=3},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
}) })
-- brass/wrought iron with signs:
homedecor.register("fence_"..name.."_with_sign", {
description = S("Fence/railing with sign (@1)", desc),
tiles = {
"homedecor_sign_"..name.."_post_top.png",
"homedecor_sign_"..name.."_post_bottom.png",
"homedecor_sign_"..name.."_post_side.png",
"homedecor_sign_"..name.."_post_side.png",
"homedecor_sign_"..name.."_post_back.png",
"homedecor_sign_"..name.."_post_front.png",
},
wield_image = "homedecor_sign_"..name.."_post.png",
node_box = sign_post_model,
groups = {snappy=3,not_in_creative_inventory=1},
sounds = default.node_sound_wood_defaults(),
sunlight_propagates = true,
drop = {
max_items = 2,
items = {
{ items = { "default:sign_wall" }},
{ items = { "homedecor:fence_"..name }},
},
},
})
end end
@@ -263,15 +303,9 @@ homedecor.register("fence_wrought_iron_2_corner", {
}, },
}) })
-- insert the old wood signs-on-metal-fences into signs_lib's conversion LBM if signs_modpath then
if minetest.get_modpath("signs_lib") then signs_lib.register_fence_with_sign("homedecor:fence_brass", "homedecor:fence_brass_with_sign")
table.insert(signs_lib.old_fenceposts_with_signs, "homedecor:fence_brass_with_sign") signs_lib.register_fence_with_sign("homedecor:fence_wrought_iron", "homedecor:fence_wrought_iron_with_sign")
signs_lib.old_fenceposts["homedecor:fence_brass_with_sign"] = "homedecor:fence_brass"
signs_lib.old_fenceposts_replacement_signs["homedecor:fence_brass_with_sign"] = "default:sign_wall_wood_onpole"
table.insert(signs_lib.old_fenceposts_with_signs, "homedecor:fence_wrought_iron_with_sign")
signs_lib.old_fenceposts["homedecor:fence_wrought_iron_with_sign"] = "homedecor:fence_wrought_iron"
signs_lib.old_fenceposts_replacement_signs["homedecor:fence_wrought_iron_with_sign"] = "default:sign_wall_wood_onpole"
end end
-- crafting -- crafting

View File

@@ -58,10 +58,61 @@ homedecor.register("chains", {
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
}) })
homedecor.register("torch_wall", {
description = S("Wall Torch"),
mesh = "forniture_torch.obj",
tiles = {
{
name="forniture_torch_flame.png",
animation={
type="vertical_frames",
aspect_w=40,
aspect_h=40,
length=1.0,
},
},
{ name = "homedecor_generic_metal.png", color = homedecor.color_black },
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
"forniture_coal.png",
},
inventory_image="forniture_torch_inv.png",
walkable = false,
light_source = 14,
selection_box = {
type = "fixed",
fixed = { -0.15, -0.45, 0.15, 0.15,0.35, 0.5 },
},
groups = {cracky=3},
})
local wl_cbox = {
type = "fixed",
fixed = { -0.2, -0.5, 0, 0.2, 0.5, 0.5 },
}
homedecor.register("wall_lamp", {
description = S("Wall Lamp"),
mesh = "homedecor_wall_lamp.obj",
tiles = {
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
homedecor.lux_wood,
"homedecor_light.png",
"homedecor_generic_metal_wrought_iron.png"
},
use_texture_alpha = true,
inventory_image = "homedecor_wall_lamp_inv.png",
groups = {snappy=3},
light_source = 11,
selection_box = wl_cbox,
walkable = false
})
minetest.register_alias("3dforniture:bars", "homedecor:bars") minetest.register_alias("3dforniture:bars", "homedecor:bars")
minetest.register_alias("3dforniture:L_binding_bars", "homedecor:L_binding_bars") minetest.register_alias("3dforniture:L_binding_bars", "homedecor:L_binding_bars")
minetest.register_alias("3dforniture:chains", "homedecor:chains") minetest.register_alias("3dforniture:chains", "homedecor:chains")
minetest.register_alias("3dforniture:torch_wall", "homedecor:torch_wall")
minetest.register_alias('bars', 'homedecor:bars') minetest.register_alias('bars', 'homedecor:bars')
minetest.register_alias('binding_bars', 'homedecor:L_binding_bars') minetest.register_alias('binding_bars', 'homedecor:L_binding_bars')
minetest.register_alias('chains', 'homedecor:chains') minetest.register_alias('chains', 'homedecor:chains')
minetest.register_alias('torch_wall', 'homedecor:torch_wall')

View File

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -164,7 +164,18 @@ homedecor.register("beer_mug", {
on_use = function(itemstack, user, pointed_thing) on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory() local inv = user:get_inventory()
if not creative.is_enabled_for(user:get_player_name()) then if not creative.is_enabled_for(user:get_player_name()) then
minetest.do_item_eat(2, "vessels:drinking_glass 1", itemstack, user, pointed_thing) if inv:room_for_item("main", "vessels:drinking_glass 1") then
inv:add_item("main", "vessels:drinking_glass 1")
else
local pos = user:get_pos()
local dir = user:get_look_dir()
local fdir = minetest.dir_to_facedir(dir)
local pos_fwd = { x = pos.x + homedecor.fdir_to_fwd[fdir+1][1],
y = pos.y + 1,
z = pos.z + homedecor.fdir_to_fwd[fdir+1][2] }
minetest.add_item(pos_fwd, "vessels:drinking_glass 1")
end
minetest.do_item_eat(2, nil, itemstack, user, pointed_thing)
return itemstack return itemstack
end end
end end

View File

@@ -7,4 +7,3 @@ moreblocks?
building_blocks? building_blocks?
darkage? darkage?
mesecons? mesecons?
digilines?

File diff suppressed because it is too large Load Diff

View File

@@ -5,4 +5,3 @@ unifieddyes
building_blocks? building_blocks?
technic? technic?
bucket? bucket?
signs_lib?

View File

@@ -145,7 +145,6 @@ homedecor.register("pole_brass", {
}, },
groups = {snappy=3}, groups = {snappy=3},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
check_for_pole = true
}) })
homedecor.register("pole_wrought_iron", { homedecor.register("pole_wrought_iron", {
@@ -479,7 +478,6 @@ for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do
def.airbrush_replacement_node = "homedecor:banister_wood_"..side.."_grey" def.airbrush_replacement_node = "homedecor:banister_wood_"..side.."_grey"
def.groups.ud_param2_colorable = 1 def.groups.ud_param2_colorable = 1
def.paramtype2 = "colorfacedir" def.paramtype2 = "colorfacedir"
def.on_dig = unifieddyes.on_dig
end end
homedecor.register(nodename, def) homedecor.register(nodename, def)
@@ -920,7 +918,7 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "homedecor:sportbench", output = "homedecor:sportbench",
recipe = { recipe = {
{ "stairs:slab_steelblock","basic_materials:steel_bar","stairs:slab_steelblock" }, { "stairs:slab_steelblock","homedecor:pole_wrought_iron","stairs:slab_steelblock" },
{ "default:steel_ingot","wool:black","default:steel_ingot" }, { "default:steel_ingot","wool:black","default:steel_ingot" },
{ "default:steel_ingot","wool:black","default:steel_ingot" } { "default:steel_ingot","wool:black","default:steel_ingot" }
}, },

View File

@@ -26,7 +26,6 @@ minetest.register_node(":lrfurn:armchair", {
after_place_node = function(pos, placer, itemstack, pointed_thing) after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
end, end,
on_dig = unifieddyes.on_dig,
on_rotate = unifieddyes.fix_after_screwdriver_nsew, on_rotate = unifieddyes.fix_after_screwdriver_nsew,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
if not clicker:is_player() then if not clicker:is_player() then
@@ -52,11 +51,10 @@ homedecor.register("armchair", {
palette = "unifieddyes_palette_colorwallmounted.png", palette = "unifieddyes_palette_colorwallmounted.png",
groups = {snappy=3, ud_param2_colorable = 1}, groups = {snappy=3, ud_param2_colorable = 1},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
node_box = armchair_cbox, node_box = ac_cbox,
after_place_node = function(pos, placer, itemstack, pointed_thing) after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
end, end,
on_dig = unifieddyes.on_dig,
on_rotate = unifieddyes.fix_after_screwdriver_nsew, on_rotate = unifieddyes.fix_after_screwdriver_nsew,
}) })

View File

@@ -2,4 +2,3 @@ default
wool wool
homedecor_common homedecor_common
unifieddyes unifieddyes
basic_materials

View File

@@ -41,7 +41,6 @@ minetest.register_node(":lrfurn:longsofa", {
end end
return itemstack return itemstack
end, end,
on_dig = unifieddyes.on_dig,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
if not clicker:is_player() then if not clicker:is_player() then
return itemstack return itemstack

View File

@@ -153,7 +153,6 @@ homedecor.register("kitchen_chair_padded", {
after_place_node = function(pos, placer, itemstack, pointed_thing) after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
end, end,
on_dig = unifieddyes.on_dig,
on_rotate = unifieddyes.fix_after_screwdriver_nsew, on_rotate = unifieddyes.fix_after_screwdriver_nsew,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
pos.y = pos.y+0 -- where do I put my ass ? pos.y = pos.y+0 -- where do I put my ass ?
@@ -212,7 +211,7 @@ minetest.register_craft( {
recipe = { recipe = {
{ "group:wood", "group:wood", "group:wood" }, { "group:wood", "group:wood", "group:wood" },
{ "group:wood", "group:wood", "group:wood" }, { "group:wood", "group:wood", "group:wood" },
{ "basic_materials:steel_bar", "", "basic_materials:steel_bar" } { "homedecor:pole_wrought_iron", "", "homedecor:pole_wrought_iron" }
}, },
}) })
@@ -316,7 +315,7 @@ minetest.register_craft({
recipe = { recipe = {
{ "", "", "wool:black" }, { "", "", "wool:black" },
{ "", "wool:black", "default:steel_ingot" }, { "", "wool:black", "default:steel_ingot" },
{ "group:stick", "basic_materials:steel_bar", "group:stick" } { "group:stick", "homedecor:pole_wrought_iron", "group:stick" }
}, },
}) })
@@ -325,7 +324,7 @@ minetest.register_craft({
recipe = { recipe = {
{ "dye:black", "building_blocks:sticks", "group:wool" }, { "dye:black", "building_blocks:sticks", "group:wool" },
{ "basic_materials:plastic_sheet", "group:wool", "default:steel_ingot" }, { "basic_materials:plastic_sheet", "group:wool", "default:steel_ingot" },
{ "building_blocks:sticks", "basic_materials:steel_bar", "building_blocks:sticks" } { "building_blocks:sticks", "homedecor:pole_wrought_iron", "building_blocks:sticks" }
}, },
}) })

View File

@@ -41,7 +41,6 @@ minetest.register_node(":lrfurn:sofa", {
end end
return itemstack return itemstack
end, end,
on_dig = unifieddyes.on_dig,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
if not clicker:is_player() then if not clicker:is_player() then
return itemstack return itemstack

View File

@@ -1,7 +1,5 @@
homedecor_common homedecor_common
default default
player_api
homedecor_kitchen? homedecor_kitchen?
homedecor_misc? homedecor_misc?
3d_armor?
skinsdb? skinsdb?

View File

@@ -106,7 +106,7 @@ minetest.register_node(":homedecor:curtain_closed", {
drawtype = 'signlike', drawtype = 'signlike',
use_texture_alpha = true, use_texture_alpha = true,
walkable = false, walkable = false,
groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory=1 }, groups = { snappy = 3, ud_param2_colorable = 1 },
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults(),
paramtype = "light", paramtype = "light",
paramtype2 = "colorwallmounted", paramtype2 = "colorwallmounted",
@@ -115,9 +115,13 @@ minetest.register_node(":homedecor:curtain_closed", {
after_place_node = function(pos, placer, itemstack, pointed_thing) after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
end, end,
on_dig = unifieddyes.on_dig,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
minetest.set_node(pos, { name = "homedecor:curtain_open", param2 = node.param2 }) local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z})
if string.find(topnode.name, "homedecor:curtainrod") then
-- Open the curtains
local fdir = node.param2
minetest.set_node(pos, { name = "homedecor:curtain_open", param2 = fdir })
end
return itemstack return itemstack
end end
}) })
@@ -138,9 +142,13 @@ minetest.register_node(":homedecor:curtain_open", {
after_place_node = function(pos, placer, itemstack, pointed_thing) after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
end, end,
on_dig = unifieddyes.on_dig,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
minetest.set_node(pos, { name = "homedecor:curtain_closed", param2 = node.param2 }) local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z})
if string.find(topnode.name, "homedecor:curtainrod") then
-- Close the curtains
local fdir = node.param2
minetest.set_node(pos, { name = "homedecor:curtain_closed", param2 = fdir })
end
return itemstack return itemstack
end end
}) })
@@ -245,7 +253,6 @@ homedecor.register("shutter", {
after_place_node = function(pos, placer, itemstack, pointed_thing) after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
end, end,
on_dig = unifieddyes.on_dig,
}) })
homedecor.register("shutter_colored", { homedecor.register("shutter_colored", {
@@ -263,7 +270,6 @@ homedecor.register("shutter_colored", {
after_place_node = function(pos, placer, itemstack, pointed_thing) after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing) unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
end, end,
on_dig = unifieddyes.on_dig,
}) })
minetest.register_alias("homedecor:shutter_purple", "homedecor:shutter_violet") minetest.register_alias("homedecor:shutter_purple", "homedecor:shutter_violet")
@@ -384,7 +390,7 @@ minetest.register_craft({
minetest.register_craft( { minetest.register_craft( {
output = "homedecor:curtain_open 4", output = "homedecor:curtain_closed 4",
recipe = { recipe = {
{ "wool:white", "", ""}, { "wool:white", "", ""},
{ "wool:white", "", ""}, { "wool:white", "", ""},
@@ -393,7 +399,7 @@ minetest.register_craft( {
}) })
minetest.register_craft( { minetest.register_craft( {
output = "homedecor:curtain_open 4", output = "homedecor:curtain_closed 4",
recipe = { recipe = {
{ "cottages:wool", "", ""}, { "cottages:wool", "", ""},
{ "cottages:wool", "", ""}, { "cottages:wool", "", ""},

View File

@@ -38,7 +38,6 @@ minetest.register_node("lavalamp:lavalamp", {
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, ud_param2_colorable = 1}, groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, ud_param2_colorable = 1},
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
on_construct = unifieddyes.on_construct, on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
node.name = "lavalamp:lavalamp_off" node.name = "lavalamp:lavalamp_off"
minetest.swap_node(pos, node) minetest.swap_node(pos, node)

View File

@@ -1 +0,0 @@
min_minetest_version = 5.2.0