1
0
ミラー元 https://github.com/mt-mods/homedecor_modpack.git 前回の同期 2025-07-15 12:10:25 +02:00

コミットを比較

...

31 コミット

作成者 SHA1 メッセージ 日付
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
bff90189fc fixed french door conversions, for real now. :P
bumped LBM version
2019-06-06 01:17:43 -04:00
b407f06dc4 fix wall lantern aliases, for real this time :P 2019-06-06 01:03:57 -04:00
e6dc2c5508 bump doors LBM name to force it to run again 2019-06-05 06:16:33 -04:00
bde2bf2bf6 fix some missing door LBM entries 2019-06-05 04:26:22 -04:00
29個のファイルの変更10073行の追加283行の削除

ファイルの表示

@ -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",

ファイルの表示

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

ファイルの表示

@ -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")

ファイルの表示

@ -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

ファイル差分が大きすぎるため省略します 差分を読み込み

61
computer/printers.lua ノーマルファイル
ファイルの表示

@ -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,
})

バイナリ
computer/textures/computer_3dprinter_bedflinger.png ノーマルファイル

バイナリファイルは表示されません。

変更後

幅:  |  高さ:  |  サイズ: 3.5 KiB

バイナリ
computer/textures/computer_3dprinter_bedflinger_inv.png ノーマルファイル

バイナリファイルは表示されません。

変更後

幅:  |  高さ:  |  サイズ: 3.8 KiB

バイナリ
computer/textures/computer_3dprinter_filament.png ノーマルファイル

バイナリファイルは表示されません。

変更後

幅:  |  高さ:  |  サイズ: 216 B

ファイルの表示

@ -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 = {

ファイルの表示

@ -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 = {

ファイルの表示

@ -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

ファイルの表示

@ -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" },

ファイルの表示

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

ファイルの表示

@ -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

ファイルの表示

@ -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_a",
"doors:homedecor_closet_oak_a",
"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_a", "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" },
@ -716,6 +699,15 @@ minetest.register_alias("doors:wood_glass_white_b", "doors:homedecor
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")
@ -730,8 +722,23 @@ minetest.register_alias("doors:bedroom_b", "doors:homedecor
-- 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({
name = ":homedecor:convert_doors",
name = ":homedecor:convert_doors_3",
label = "Convert Homedecor doors to mtg doors API",
nodenames = old_doors,
run_at_every_load = false,
@ -740,10 +747,12 @@ minetest.register_lbm({
local newparam2 = (node.param2 + 2) % 4
local e = string.find(node.name, "_", -7)
local dir = string.sub(node.name, e+1)
local newname = "doors:"..string.sub(node.name, 16, e-1)
local newname = "doors:homedecor_"..string.sub(node.name, 16, e-1)
if dir == "right" then
print("Want to replace "..node.name.." with "..newname.."_a")
minetest.set_node(pos, {name = newname.."_a", param2 = newparam2 })
else
print("Want to replace "..node.name.." with "..newname.."_b")
minetest.set_node(pos, {name = newname.."_b", param2 = newparam2 })
end
minetest.set_node({x=pos.x, y=pos.y+1, z=pos.z}, {name = "doors:hidden"})

ファイルの表示

@ -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 },

ファイルの表示

@ -2,4 +2,4 @@ homedecor_common
default
basic_materials
dye
signs_lib?
basic_signs?

ファイルの表示

@ -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,17 @@ 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("basic_signs") 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"
signs_lib.allowed_poles["homedecor:pole_brass"] = true
end
-- crafting

ファイルの表示

@ -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

ファイルの表示

@ -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 msg ~= "" and type(msg) == "string" 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,15 +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_14")
minetest.register_alias("homedecor:wall_lamp_max", "homedecor:wall_lamp_14")
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)
@ -1862,7 +1882,6 @@ for name, level in pairs(word_to_bright) do
minetest.register_alias("homedecor:ceiling_lamp_"..name, "homedecor:ceiling_lamp_"..level)
minetest.register_alias("homedecor:table_lamp_"..name, "homedecor:table_lamp_"..level)
minetest.register_alias("homedecor:standing_lamp_"..name, "homedecor:standing_lamp_"..level)
minetest.register_alias("homedecor:wall_lamp_"..name, "homedecor:wall_lamp_"..level)
minetest.register_alias("3dforniture:table_lamp_"..name, "homedecor:table_lamp_"..level)
end

ファイルの表示

@ -478,6 +478,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)

ファイルの表示

@ -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,
})

ファイルの表示

@ -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

ファイルの表示

@ -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 ?

ファイルの表示

@ -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

ファイルの表示

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

ファイルの表示

@ -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", "", ""},

ファイルの表示

@ -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)