1
0
mirror of https://github.com/mt-mods/homedecor_modpack.git synced 2025-06-28 21:06:02 +02:00

Compare commits

...

38 Commits

Author SHA1 Message Date
5aecf5f2c7 move some "japanese" files to their proper sub-mods
fixes #24
2020-06-04 12:32:10 -04:00
9be79ec6d0 add minimum minetest version key for contentdb 2020-06-03 13:00:19 -04:00
4c0f068909 use LBM to restore fancy fire particlespawners 2020-06-03 00:20:03 -04:00
ce3c77564c import model, textures, and some properties from googol's new_campfire mod
to freshen-up the look of "fancy fire"

(no, you still can't cook with this fire :P )
2020-06-03 00:13:01 -04:00
43333687bd use basic_materials steel bar instead or wrought iron pole
where it makes sense:

chairs, benches, barbecue, and sport bench will now use the steel bar.

wrought iron doors and fences, banister, spiral staircase, curtainrod,
and window/jail bars will keep the wrought iron pole.
2020-02-28 11:39:35 -05:00
9ec3eab6f4 Merge branch 'master' into 'master'
Add nil checks in tetris step function

Closes #22

See merge request VanessaE/homedecor_modpack!9
2020-02-26 14:13:16 +00:00
9f5cc15e62 add nil checks in tetris step function 2020-02-26 10:43:11 +00:00
ed41161554 Merge branch 'master' into 'master'
Fix door recipes

See merge request VanessaE/homedecor_modpack!8
2019-12-30 07:47:06 +00:00
77933d9dc3 fix recipes for mahogany closet and basic panel doors 2019-12-30 18:17:13 +11:00
c118b43711 use signs_lib's custom pole check callback feature
requires signs_lib from commit dcdee22 or later, if present
2019-09-22 03:23:50 -04:00
f6da0f7329 fix the 'fix' 2019-09-19 20:55:56 -04:00
e84a184946 only try to process a light message if it's a string 2019-09-19 19:24:42 -04:00
0c9d883f28 Merge branch 'patch-1' into 'master'
Fix fg/bg texture setting in register_furnace

See merge request VanessaE/homedecor_modpack!7
2019-09-19 18:06:48 +00:00
97e7a31830 Fix fg/bg texture setting in register_furnace
If a custom fire_bg texture had been provided (not currently done
within the modpack itself), fire_fg would have been set to that instead
of the provided fire_fg or default.
2019-09-19 12:50:01 +00:00
d897e6d97c update to use new signs_lib API -- requires signs_lib commit 4ff54c9a and above 2019-09-11 12:29:32 -04:00
8532dee8ed Merge branch 'cobweb_typo' into 'master'
Fix a typo in homedecor_cobweb/init.lua

See merge request VanessaE/homedecor_modpack!6
2019-08-27 12:38:49 +00:00
356f872327 Fix a typo in homedecor_cobweb/init.lua
This typo made the server crash when placing a centered cobweb
2019-08-27 14:33:21 +02:00
6c07a31857 fix #20 (undeclared globals) 2019-08-21 17:44:58 -04:00
daef49a255 Merge branch 'beer-fix' into 'master'
Use API to replace beer mug

Closes #18

See merge request VanessaE/homedecor_modpack!5
2019-08-21 21:33:30 +00:00
1072598701 use Unified Dyes colorwallmounted mode
so that the spool of filament can be colorized.
2019-08-21 08:30:23 -04:00
60be4a6320 Add 3d printer (Prussa i3/"bedflinger" style) 2019-08-21 07:19:28 -04:00
67f2065408 split printer into separate file 2019-08-21 06:36:19 -04:00
f90834ff06 make "computer" mod depend on basic_materials 2019-08-21 06:34:37 -04:00
c871e0d388 Use API to replace beer mug
Mods overriding minetest.do_item_eat can ensure that an empty glass
is given only if the item was actually used.

Fixes #18.
2019-08-17 22:23:13 -04:00
d17ec1d978 fix recipes for mahogany and white french doors 2019-08-14 14:16:09 -04:00
9dcc6c2b4d use Unified Dyes on_dig where needed - requires Unified Dyes commit 9ff40a7f or later 2019-07-18 02:16:46 -04:00
80352d69e1 prevent crash if receiving a null message string or channel 2019-07-16 06:45:04 -04:00
1d59c2258d depends fixes
make sure player_api and 3d_armor load before wardrobe
2019-06-25 16:06:49 -04:00
11e6b5d92a fix door recipes
(all still pointed to old node names)
2019-06-20 17:15:38 -04:00
7e7b2bcabb use table.copy instead of own clone node 2019-06-18 15:04:08 -04:00
b28f1314da add aliases for rope lights (on/14, off/0)
make right-click handler work properly for plain "on"/"off" items
2019-06-15 06:52:58 -04:00
17ea2040e2 fix groups on "floor" rope lights
if mesecons, put "off" rope lights in creative inv, and drop them as "off" as
well.  else, put "on" in creative inv and drop "on"

allow right-click on rope lights only if no mesecons

also cache minetest.get_modpath("mesecons")
2019-06-15 06:45:41 -04:00
ed9fb6a34d allow player to open/close curtains without a curtainrod
also remove "closed" curtain from creative inv
change recipe to give the "open" one
2019-06-07 05:41:16 -04:00
13862c1a48 missing chandelier alias 2019-06-07 00:50:06 -04:00
e289e79aea add intllib as optdepend in homedecor_common
should fix #17 ?
2019-06-07 00:36:05 -04:00
80ab12710b add "light" to a couple of descriptions, for easier searching 2019-06-06 04:38:13 -04:00
1b94c940d7 fix wrong light value on standing lamps 2019-06-06 04:37:26 -04:00
df44dd3dad remove some bogus aliases, fix plasma ball 2019-06-06 01:48:44 -04:00
45 changed files with 11283 additions and 460 deletions

View File

@ -258,33 +258,6 @@ minetest.register_node("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
minetest.register_node("computer:server", {
drawtype = "nodebox",

View File

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

View File

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

View File

@ -1,68 +0,0 @@
-- 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

61
computer/printers.lua Normal file
View File

@ -0,0 +1,61 @@
-- 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,4 +1,3 @@
local S = homedecor.gettext
local shapes = {
@ -220,10 +219,10 @@ local function step(pos, fields)
if fields then
if fields.new then
new_game(pos)
else
elseif t then
key(fields)
end
else
elseif t then
run = tick()
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

View File

@ -3,7 +3,80 @@ local S = homedecor.gettext
screwdriver = screwdriver or {}
local function start_smoke(pos, node, clicker, chimney)
local function fire_particles_on(pos) -- 3 layers of fire
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 id = this_spawner_meta:get_int("smoky")
local s_handle = this_spawner_meta:get_int("sound")
@ -41,7 +114,7 @@ local function start_smoke(pos, node, clicker, chimney)
max_hear_distance = 5,
loop = true
})
this_spawner_meta:set_int("smoky", id)
fire_particles_on(pos)
this_spawner_meta:set_int("sound", s_handle)
end
end
@ -83,7 +156,7 @@ minetest.register_node("fake_fire:ice_fire", {
aspect_w=16, aspect_h=16, length=1.5}},
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
start_smoke(pos, node, clicker)
start_fire_effects(pos, node, clicker)
return itemstack
end,
on_destruct = function (pos)
@ -97,42 +170,54 @@ minetest.register_node("fake_fire:ice_fire", {
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", {
inventory_image = "fancy_fire_inv.png",
description = S("Fancy Fire"),
drawtype = "mesh",
mesh = "fancy_fire.obj",
paramtype = "light",
paramtype2 = "facedir",
groups = {dig_immediate=3},
sunlight_propagates = true,
light_source = 14,
walkable = false,
damage_per_second = 4,
on_rotate = screwdriver.rotate_simple,
tiles = {
{name="fake_fire_animated.png",
animation={type='vertical_frames', aspect_w=16, aspect_h=16, length=1}}, {name='fake_fire_logs.png'}},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
start_smoke(pos, node, clicker)
return itemstack
end,
on_destruct = function (pos)
stop_smoke(pos)
minetest.sound_play("fire_extinguish", {
pos = pos, max_hear_distance = 5
})
end,
drop = {
max_items = 3,
items = {
{
items = { "default:torch", "default:torch", "building_blocks:sticks" },
rarity = 1,
}
inventory_image = "fancy_fire_inv.png",
description = S("Fancy Fire"),
drawtype = "mesh",
mesh = "fancy_fire.obj",
paramtype = "light",
paramtype2 = "facedir",
groups = {oddly_breakable_by_hand=3, flammable=0},
sunlight_propagates = true,
light_source = 13,
walkable = false,
buildable_to = false,
damage_per_second = 3,
selection_box = sbox,
tiles = {
"basic_materials_concrete_block.png",
"default_junglewood.png",
"fake_fire_empty_tile.png"
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
fire_particles_on(pos)
return itemstack
end,
on_construct = function(pos)
local meta = minetest.get_meta(pos)
fire_particles_on(pos)
end,
on_destruct = function(pos, oldnode, oldmetadata, digger)
fire_particles_off(pos)
minetest.sound_play("fire_extinguish", {
pos = pos, max_hear_distance = 5
})
end,
drop = {
max_items = 3,
items = {
{
items = { "default:torch", "default:torch", "building_blocks:sticks" },
rarity = 1,
}
}
})
}
})
-- EMBERS
minetest.register_node("fake_fire:embers", {
@ -168,7 +253,7 @@ for _, mat in ipairs(materials) do
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
local chimney = 1
start_smoke(pos, node, clicker, chimney)
start_fire_effects(pos, node, clicker, chimney)
return itemstack
end,
on_destruct = function (pos)
@ -209,8 +294,22 @@ minetest.register_craft({
})
-- ALIASES
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_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: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.

After

Width:  |  Height:  |  Size: 68 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 B

View File

@ -89,28 +89,19 @@ end
-- 3d-ify default mtg wood and steel doors and trap doors
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
for _,mat in ipairs({"wood", "steel"}) do
def = clone_node("doors:door_"..mat.."_a")
def = table.copy(minetest.registered_nodes["doors:door_"..mat.."_a"])
def.mesh = "homedecor_3d_door_"..mat.."_a.obj"
minetest.register_node(":doors:door_"..mat.."_a", def)
def = clone_node("doors:door_"..mat.."_b")
def = table.copy(minetest.registered_nodes["doors:door_"..mat.."_b"])
def.mesh = "homedecor_3d_door_"..mat.."_b.obj"
minetest.register_node(":doors:door_"..mat.."_b", def)
end
for _,mat in ipairs({"", "_steel"}) do
def = clone_node("doors:trapdoor"..mat)
def = table.copy(minetest.registered_nodes["doors:trapdoor"..mat])
def.drawtype = "mesh"
def.mesh = "homedecor_3d_trapdoor"..mat..".obj"
def.tiles = {
@ -119,7 +110,7 @@ if minetest.get_modpath("doors") then
}
minetest.register_node(":doors:trapdoor"..mat, def)
def = clone_node("doors:trapdoor"..mat.."_open")
def = table.copy(minetest.registered_nodes["doors:trapdoor"..mat.."_open"])
def.mesh = "homedecor_3d_trapdoor"..mat.."_open.obj"
def.drawtype = "mesh"
def.tiles = {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

Before

Width:  |  Height:  |  Size: 591 B

After

Width:  |  Height:  |  Size: 591 B

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

View File

@ -3,17 +3,6 @@
local S = homedecor.gettext
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
local door_list = {
@ -181,22 +170,22 @@ for _, door in ipairs(door_list) do
local nn_b = "doors:homedecor_"..door.name.."_b"
if door.alpha then
local def = hd_doors_clone_node(nn_a)
local def = table.copy(minetest.registered_nodes[nn_a])
def.use_texture_alpha = true
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
def = hd_doors_clone_node(nn_b)
def = table.copy(minetest.registered_nodes[nn_b])
def.use_texture_alpha = true
minetest.register_node(":"..nn_b, def)
end
if door.custom_model and hd_3d then
def = hd_doors_clone_node(nn_a)
def = table.copy(minetest.registered_nodes[nn_a])
def.mesh = door.custom_model.."_a.obj"
minetest.register_node(":"..nn_a, def)
def = hd_doors_clone_node(nn_b)
def = table.copy(minetest.registered_nodes[nn_b])
def.mesh = door.custom_model.."_b.obj"
minetest.register_node(":"..nn_b, def)
end
@ -468,8 +457,8 @@ minetest.register_craft( {
type = "shapeless",
output = "homedecor:gate_half_door_closed 4",
recipe = {
"homedecor:door_wood_plain_a",
"homedecor:door_wood_plain_a"
"doors:homedecor_wood_plain_a",
"doors:homedecor_wood_plain_a"
},
})
@ -477,8 +466,8 @@ minetest.register_craft( {
type = "shapeless",
output = "homedecor:gate_half_door_white_closed 4",
recipe = {
"homedecor:door_bedroom_a",
"homedecor:door_bedroom_a"
"doors:homedecor_bedroom_a",
"doors:homedecor_bedroom_a"
},
})
@ -553,7 +542,7 @@ minetest.register_craft( {
-- plain wood, non-windowed
minetest.register_craft( {
output = "homedecor:door_wood_plain_a 2",
output = "doors:homedecor_wood_plain 2",
recipe = {
{ "group:wood", "group:wood", "" },
{ "group:wood", "group:wood", "default:steel_ingot" },
@ -564,7 +553,7 @@ minetest.register_craft( {
-- fancy exterior
minetest.register_craft( {
output = "homedecor:door_exterior_fancy_a 2",
output = "doors:homedecor_exterior_fancy 2",
recipe = {
{ "group:wood", "default:glass" },
{ "group:wood", "group:wood" },
@ -572,12 +561,10 @@ minetest.register_craft( {
},
})
-- wood and glass (grid style)
-- bare
-- French style wood/glass
minetest.register_craft( {
output = "homedecor:door_wood_glass_oak_a 2",
output = "doors:homedecor_french_oak 2",
recipe = {
{ "default:glass", "group:wood" },
{ "group:wood", "default:glass" },
@ -586,7 +573,7 @@ minetest.register_craft( {
})
minetest.register_craft( {
output = "homedecor:door_wood_glass_oak_a 2",
output = "doors:homedecor_french_oak 2",
recipe = {
{ "group:wood", "default:glass" },
{ "default:glass", "group:wood" },
@ -594,27 +581,23 @@ minetest.register_craft( {
},
})
-- mahogany
minetest.register_craft( {
type = "shapeless",
output = "homedecor:door_wood_glass_mahogany_a 2",
output = "doors:homedecor_french_mahogany 2",
recipe = {
"dye:brown",
"homedecor:door_wood_glass_oak_a",
"homedecor:door_wood_glass_oak_a"
"doors:homedecor_french_oak",
"doors:homedecor_french_oak"
},
})
-- white
minetest.register_craft( {
type = "shapeless",
output = "homedecor:door_wood_glass_white_a 2",
output = "doors:homedecor_french_white 2",
recipe = {
"dye:white",
"homedecor:door_wood_glass_oak_a",
"homedecor:door_wood_glass_oak_a"
"doors:homedecor_french_oak",
"doors:homedecor_french_oak"
},
})
@ -623,7 +606,7 @@ minetest.register_craft( {
-- oak
minetest.register_craft( {
output = "homedecor:door_closet_oak_a 2",
output = "doors:homedecor_closet_oak 2",
recipe = {
{ "", "group:stick", "group:stick" },
{ "default:steel_ingot", "group:stick", "group:stick" },
@ -635,18 +618,18 @@ minetest.register_craft( {
minetest.register_craft( {
type = "shapeless",
output = "homedecor:door_closet_mahogany_a 2",
output = "doors:homedecor_closet_mahogany 2",
recipe = {
"homedecor:door_closet_oak_a",
"homedecor:door_closet_oak_a",
"doors:homedecor_closet_oak",
"doors:homedecor_closet_oak",
"dye:brown"
},
})
-- wrought fence-like door
-- wrought iron fence-like door
minetest.register_craft( {
output = "homedecor:door_wrought_iron_a 2",
output = "doors:homedecor_wrought_iron 2",
recipe = {
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
@ -654,21 +637,21 @@ minetest.register_craft( {
},
})
-- bedroom door
-- bedroom/panel door
minetest.register_craft( {
output = "homedecor:door_bedroom_a",
output = "doors:homedecor_basic_panel",
recipe = {
{ "dye:white", "dye:white", "" },
{ "homedecor:door_wood_plain_a", "basic_materials:brass_ingot", "" },
{ "doors:homedecor_wood_plain", "basic_materials:brass_ingot", "" },
{ "", "", "" },
},
})
-- woodglass door
-- basic wood/glass single-lite door
minetest.register_craft( {
output = "homedecor:door_woodglass_a",
output = "doors:homedecor_woodglass",
recipe = {
{ "group:wood", "default:glass", "" },
{ "group:wood", "default:glass", "basic_materials:brass_ingot" },
@ -676,10 +659,10 @@ minetest.register_craft( {
},
})
-- woodglass door type 2
-- "Carolina" door
minetest.register_craft( {
output = "homedecor:door_woodglass2_a",
output = "doors:homedecor_carolina",
recipe = {
{ "default:glass", "default:glass", "" },
{ "group:wood", "group:wood", "default:iron_lump" },

View File

@ -16,8 +16,6 @@ function homedecor.toggle_switch(pos, node, clicker, itemstack, pointed_thing)
end
local on_rc
local switch_receptor
if minetest.get_modpath("mesecons") then
on_rc = function(pos, node, clicker, itemstack, pointed_thing)
local t = homedecor.toggle_switch(pos, node, clicker, itemstack, pointed_thing)
@ -28,12 +26,6 @@ if minetest.get_modpath("mesecons") then
mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
end
end
switch_receptor = {
receptor = {
state = mesecon.state[onoff],
rules = mesecon.rules.buttonlike_get
}
}
end
homedecor.register("power_outlet", {
@ -65,6 +57,16 @@ homedecor.register("power_outlet", {
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 = {
{ -0.125, -0.1875, 0.4375, 0.125, 0.125, 0.5 },
{ -0.03125, 0, 0.40625, 0.03125, 0.0625, 0.5 },

View File

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

View File

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

View File

@ -1,19 +1,5 @@
-- 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 materials = {
@ -23,43 +9,17 @@ local materials = {
for _, m in ipairs(materials) do
local desc, name = unpack(m)
local desc, name = unpack(m)
homedecor.register("fence_"..name, {
description = S("Fence/railing (@1)", desc),
drawtype = "fencelike",
tiles = {"homedecor_generic_metal_"..name..".png"},
inventory_image = "homedecor_fence_"..name..".png",
selection_box = homedecor.nodebox.bar_y(1/7),
groups = {snappy=3},
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 }},
},
},
})
homedecor.register("fence_"..name, {
description = S("Fence/railing (@1)", desc),
drawtype = "fencelike",
tiles = {"homedecor_generic_metal_"..name..".png"},
inventory_image = "homedecor_fence_"..name..".png",
selection_box = homedecor.nodebox.bar_y(1/7),
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
})
end
@ -303,9 +263,15 @@ homedecor.register("fence_wrought_iron_2_corner", {
},
})
if signs_modpath then
signs_lib.register_fence_with_sign("homedecor:fence_brass", "homedecor:fence_brass_with_sign")
signs_lib.register_fence_with_sign("homedecor:fence_wrought_iron", "homedecor:fence_wrought_iron_with_sign")
-- insert the old wood signs-on-metal-fences into signs_lib's conversion LBM
if minetest.get_modpath("signs_lib") then
table.insert(signs_lib.old_fenceposts_with_signs, "homedecor:fence_brass_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
-- crafting

View File

@ -164,18 +164,7 @@ homedecor.register("beer_mug", {
on_use = function(itemstack, user, pointed_thing)
local inv = user:get_inventory()
if not creative.is_enabled_for(user:get_player_name()) then
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)
minetest.do_item_eat(2, "vessels:drinking_glass 1", itemstack, user, pointed_thing)
return itemstack
end
end

View File

@ -11,6 +11,8 @@ local function is_protected(pos, clicker)
return false
end
local hd_mesecons = minetest.get_modpath("mesecons")
-- control and brightness for dimmable lamps
local brightn_cycle = {
@ -51,7 +53,7 @@ local rules_alldir = {
local actions
if minetest.get_modpath("mesecons") then
if hd_mesecons then
actions = {
action_off = function(pos, node)
@ -96,11 +98,12 @@ local digiline_on_punch
if minetest.get_modpath("digilines") then
local on_digiline_receive_string = function(pos, node, channel, msg)
if not msg or not channel then return end
local meta = minetest.get_meta(pos)
local setchan = meta:get_string("channel")
if setchan ~= channel then return end
if msg and msg ~= "" then
if msg ~= "" and (type(msg) == "string" or type(msg) == "number" ) then
local n = tonumber(msg)
local suff = word_to_bright[msg] or "invalid"
@ -132,7 +135,7 @@ if minetest.get_modpath("digilines") then
end
end)
if minetest.get_modpath("mesecons") then
if hd_mesecons then
homedecor.digiline_wall_light = {
effector = {
action = on_digiline_receive_string,
@ -182,10 +185,14 @@ function homedecor.toggle_light(pos, node, clicker, itemstack, pointed_thing)
local level = string.sub(node.name, sep + 1)
local n = tonumber(level) or 0
if level == "off" or n < 4 then
newsuff = "_14"
else
if level == "on" then
newsuff = "_off"
elseif level == "off" then
newsuff = "_on"
elseif n > 3 then
newsuff = "_0"
else
newsuff = "_14"
end
minetest.swap_node(pos, {name = string.sub(node.name, 1, sep - 1)..newsuff, param2 = node.param2})
@ -279,6 +286,7 @@ for brightness_level = 0, 14 do
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
end,
on_dig = unifieddyes.on_dig,
on_rightclick = homedecor.toggle_light,
drop = {
items = {
@ -344,6 +352,7 @@ for brightness_level = 0, 14 do
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
end,
on_dig = unifieddyes.on_dig,
on_rightclick = homedecor.toggle_light,
drop = {
items = {
@ -410,6 +419,7 @@ for brightness_level = 0, 14 do
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
end,
on_dig = unifieddyes.on_dig,
on_rightclick = homedecor.toggle_light,
drop = {
items = {
@ -630,6 +640,7 @@ for brightness_level = 0, 14 do
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,
light_source = brightness_level,
on_rightclick = homedecor.toggle_light,
@ -707,7 +718,8 @@ for brightness_level = 0, 14 do
digiline = homedecor.digiline_alldir_light,
mesecons = homedecor.mesecon_wall_light,
on_rightclick = homedecor.toggle_light,
on_punch = digiline_on_punch
on_punch = digiline_on_punch,
on_dig = unifieddyes.on_dig,
})
homedecor.register("standing_lamp_"..brightness_level, {
@ -724,7 +736,7 @@ for brightness_level = 0, 14 do
paramtype2 = "color",
palette = "unifieddyes_palette_extended.png",
walkable = false,
light_source = word_to_bright[light_brightn_name],
light_source = brightness_level,
groups = {cracky=2,oddly_breakable_by_hand=1, ud_param2_colorable = 1, not_in_creative_inventory=nici },
selection_box = slamp_cbox,
sounds = default.node_sound_wood_defaults(),
@ -738,7 +750,8 @@ for brightness_level = 0, 14 do
digiline = homedecor.digiline_alldir_light,
mesecons = homedecor.mesecon_wall_light,
on_rightclick = homedecor.toggle_light,
on_punch = digiline_on_punch
on_punch = digiline_on_punch,
on_dig = unifieddyes.on_dig,
})
end
@ -749,6 +762,15 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
local onflag = (light_brightn_name == "on")
local nici = (light_brightn_name == "off") and 1 or nil
local nici_m = (light_brightn_name == "off") and 1 or nil
local on_rc = homedecor.toggle_light
local di = "on"
if hd_mesecons then
nici_m = (light_brightn_name ~= "off") and 1 or nil
on_rc = nil
di = "off"
end
local gen_ls_tex_white = "homedecor_generic_light_source_off.png"
if onflag then gen_ls_tex_white = "homedecor_generic_light_source_white.png" end
@ -765,7 +787,7 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
end
homedecor.register("plasma_ball_"..light_brightn_name, {
description = S("Plasma Ball"),
description = S("Plasma Ball/light"),
mesh = "homedecor_plasma_ball.obj",
tiles = {
{ name = "homedecor_generic_plastic.png", color = homedecor.color_black },
@ -829,14 +851,14 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
"homedecor:rope_light_on_floor_off",
"group:mesecon_conductor_craftable"
},
groups = {cracky=3, not_in_creative_inventory = nici},
groups = {cracky=3, oddly_breakable_by_hand=3, not_in_creative_inventory = nici_m},
sounds = default.node_sound_stone_defaults(),
on_rightclick = homedecor.toggle_light,
drop = {
items = {
{items = {"homedecor:rope_light_on_floor_on"} },
{items = {"homedecor:rope_light_on_floor_"..di} },
}
},
on_rightclick = on_rc,
mesecons = {
conductor = {
state = mesecon and (onflag and mesecon.state.on or mesecon.state.off),
@ -875,14 +897,14 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
"homedecor:rope_light_on_ceiling_off",
"group:mesecon_conductor_craftable"
},
groups = {cracky=3, not_in_creative_inventory = nici},
groups = {cracky=3, oddly_breakable_by_hand=3, not_in_creative_inventory = nici_m},
sounds = default.node_sound_stone_defaults(),
on_rightclick = homedecor.toggle_light,
drop = {
items = {
{items = {"homedecor:rope_light_on_ceiling_on"}},
{items = {"homedecor:rope_light_on_ceiling_"..di}},
}
},
on_rightclick = on_rc,
mesecons = {
conductor = {
state = mesecon and (onflag and mesecon.state.on or mesecon.state.off),
@ -894,7 +916,7 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
})
homedecor.register("wall_lamp_"..light_brightn_name, {
description = S("Wall Lamp"),
description = S("Wall Lamp/light"),
mesh = "homedecor_wall_lamp.obj",
tiles = {
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
@ -1785,6 +1807,7 @@ unifieddyes.register_color_craft({
minetest.register_alias("chains:chain_top", "homedecor:chain_steel_top")
minetest.register_alias("chains:chain_top_brass", "homedecor:chain_brass_top")
minetest.register_alias("chains:chandelier", "homedecor:chandelier_steel")
minetest.register_alias("chains:chandelier_steel", "homedecor:chandelier_steel")
minetest.register_alias("chains:chandelier_brass", "homedecor:chandelier_brass")
@ -1797,18 +1820,9 @@ minetest.register_alias("homedecor:glowlight_quarter_max", "homedecor:glowli
minetest.register_alias("homedecor:glowlight_small_cube", "homedecor:glowlight_small_cube_14")
minetest.register_alias("homedecor:glowlight_small_cube_max", "homedecor:glowlight_small_cube_14")
minetest.register_alias("homedecor:rope_light_14_floor", "homedecor:rope_light_on_floor_14")
minetest.register_alias("homedecor:rope_light_on_floor_max", "homedecor:rope_light_on_floor_14")
minetest.register_alias("homedecor:rope_light_on_ceiling", "homedecor:rope_light_on_ceiling_14")
minetest.register_alias("homedecor:rope_light_on_ceiling_max", "homedecor:rope_light_on_ceiling_14")
minetest.register_alias("homedecor:plasma_lamp", "homedecor:plasma_lamp_14")
minetest.register_alias("homedecor:plasma_lamp_max", "homedecor:plasma_lamp_14")
minetest.register_alias("homedecor:plasma_ball", "homedecor:plasma_ball_14")
minetest.register_alias("homedecor:plasma_ball_max", "homedecor:plasma_ball_14")
minetest.register_alias("homedecor:ground_lantern", "homedecor:ground_lantern_14")
minetest.register_alias("homedecor:ground_lantern_max", "homedecor:ground_lantern_14")
@ -1836,14 +1850,21 @@ minetest.register_alias("homedecor:table_lamp_max", "homedecor:table_
minetest.register_alias("homedecor:standing_lamp", "homedecor:standing_lamp_14")
minetest.register_alias("homedecor:standing_lamp_max", "homedecor:standing_lamp_14")
minetest.register_alias("homedecor:wall_lamp", "homedecor:wall_lamp_on")
minetest.register_alias("3dforniture:table_lamp", "homedecor:table_lamp_14")
minetest.register_alias("3dforniture:table_lamp_max", "homedecor:table_lamp_14")
minetest.register_alias("3dforniture:torch_wall", "homedecor:torch_wall")
minetest.register_alias("torch_wall", "homedecor:torch_wall")
minetest.register_alias("homedecor:plasma_ball", "homedecor:plasma_ball_on")
minetest.register_alias("homedecor:wall_lamp", "homedecor:wall_lamp_on")
minetest.register_alias("homedecor:rope_light_on_floor_0", "homedecor:rope_light_on_floor_off")
minetest.register_alias("homedecor:rope_light_on_floor_14", "homedecor:rope_light_on_floor_on")
minetest.register_alias("homedecor:rope_light_on_ceiling_0", "homedecor:rope_light_on_ceiling_off")
minetest.register_alias("homedecor:rope_light_on_ceiling_14", "homedecor:rope_light_on_ceiling_on")
for name, level in pairs(word_to_bright) do
minetest.register_alias("homedecor:glowlight_half_"..name, "homedecor:glowlight_half_"..level)
minetest.register_alias("homedecor:glowlight_quarter_"..name, "homedecor:glowlight_quarter_"..level)

View File

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

View File

@ -130,21 +130,22 @@ for _, f in ipairs(flowers_list) do
end
homedecor.register("pole_brass", {
description = S("Brass Pole"),
description = S("Brass Pole"),
mesh = "homedecor_round_pole.obj",
tiles = {"homedecor_generic_metal_brass.png^homedecor_generic_metal_lines_overlay.png",},
inventory_image = "homedecor_pole_brass_inv.png",
wield_image = "homedecor_pole_brass_inv.png",
selection_box = {
type = "fixed",
fixed = { -0.125, -0.5, -0.125, 0.125, 0.5, 0.125 },
},
collision_box = {
type = "fixed",
fixed = { -0.125, -0.5, -0.125, 0.125, 0.5, 0.125 },
},
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
tiles = {"homedecor_generic_metal_brass.png^homedecor_generic_metal_lines_overlay.png",},
inventory_image = "homedecor_pole_brass_inv.png",
wield_image = "homedecor_pole_brass_inv.png",
selection_box = {
type = "fixed",
fixed = { -0.125, -0.5, -0.125, 0.125, 0.5, 0.125 },
},
collision_box = {
type = "fixed",
fixed = { -0.125, -0.5, -0.125, 0.125, 0.5, 0.125 },
},
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
check_for_pole = true
})
homedecor.register("pole_wrought_iron", {
@ -478,6 +479,7 @@ for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do
def.airbrush_replacement_node = "homedecor:banister_wood_"..side.."_grey"
def.groups.ud_param2_colorable = 1
def.paramtype2 = "colorfacedir"
def.on_dig = unifieddyes.on_dig
end
homedecor.register(nodename, def)
@ -918,7 +920,7 @@ minetest.register_craft({
minetest.register_craft({
output = "homedecor:sportbench",
recipe = {
{ "stairs:slab_steelblock","homedecor:pole_wrought_iron","stairs:slab_steelblock" },
{ "stairs:slab_steelblock","basic_materials:steel_bar","stairs:slab_steelblock" },
{ "default:steel_ingot","wool:black","default:steel_ingot" },
{ "default:steel_ingot","wool:black","default:steel_ingot" }
},

View File

@ -26,6 +26,7 @@ minetest.register_node(":lrfurn:armchair", {
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,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
if not clicker:is_player() then
@ -51,10 +52,11 @@ homedecor.register("armchair", {
palette = "unifieddyes_palette_colorwallmounted.png",
groups = {snappy=3, ud_param2_colorable = 1},
sounds = default.node_sound_wood_defaults(),
node_box = ac_cbox,
node_box = armchair_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

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

View File

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

View File

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

View File

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

View File

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

View File

@ -106,7 +106,7 @@ minetest.register_node(":homedecor:curtain_closed", {
drawtype = 'signlike',
use_texture_alpha = true,
walkable = false,
groups = { snappy = 3, ud_param2_colorable = 1 },
groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory=1 },
sounds = default.node_sound_leaves_defaults(),
paramtype = "light",
paramtype2 = "colorwallmounted",
@ -115,13 +115,9 @@ minetest.register_node(":homedecor:curtain_closed", {
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
end,
on_dig = unifieddyes.on_dig,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
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
minetest.set_node(pos, { name = "homedecor:curtain_open", param2 = node.param2 })
return itemstack
end
})
@ -142,13 +138,9 @@ minetest.register_node(":homedecor:curtain_open", {
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
end,
on_dig = unifieddyes.on_dig,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
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
minetest.set_node(pos, { name = "homedecor:curtain_closed", param2 = node.param2 })
return itemstack
end
})
@ -253,6 +245,7 @@ homedecor.register("shutter", {
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
end,
on_dig = unifieddyes.on_dig,
})
homedecor.register("shutter_colored", {
@ -270,6 +263,7 @@ homedecor.register("shutter_colored", {
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
end,
on_dig = unifieddyes.on_dig,
})
minetest.register_alias("homedecor:shutter_purple", "homedecor:shutter_violet")
@ -390,7 +384,7 @@ minetest.register_craft({
minetest.register_craft( {
output = "homedecor:curtain_closed 4",
output = "homedecor:curtain_open 4",
recipe = {
{ "wool:white", "", ""},
{ "wool:white", "", ""},
@ -399,7 +393,7 @@ minetest.register_craft( {
})
minetest.register_craft( {
output = "homedecor:curtain_closed 4",
output = "homedecor:curtain_open 4",
recipe = {
{ "cottages:wool", "", ""},
{ "cottages:wool", "", ""},

View File

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

1
modpack.conf Normal file
View File

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