Compare commits
39 Commits
master
...
8e189f01fa
| Author | SHA1 | Date | |
|---|---|---|---|
| 8e189f01fa | |||
| 8f8552b77d | |||
| 15300a4413 | |||
| 0f8f31d5c8 | |||
| 78114b83cf | |||
| 6cd70d2759 | |||
| 3b98245930 | |||
| d667e39851 | |||
| 680f8e8995 | |||
| 3d63271855 | |||
| e0bc27c825 | |||
| 2814f672f0 | |||
| 2ba84b1e3c | |||
| 00d935de60 | |||
| 6700f2b935 | |||
| 6e973c3830 | |||
| 177a97eab3 | |||
| a832b66977 | |||
| df9e8aea4b | |||
| 99a01301a8 | |||
| 2ef259fa24 | |||
| caaa963eaf | |||
| e5866b7928 | |||
| b6ecc0b95f | |||
| 320cd1d449 | |||
| 3675e9c266 | |||
| 3567b42c39 | |||
| bd67ba2499 | |||
| 5612f4c884 | |||
| 7bcfbbca3a | |||
| e372ccb4d8 | |||
| 5c6a994698 | |||
| 1eec6e3615 | |||
| 0753606eb0 | |||
| 778b5493c7 | |||
| fb0ca9a15c | |||
| 1520d27a73 | |||
| 5d4c64d3b2 | |||
|
|
4eb9ffb088 |
@@ -15,8 +15,7 @@ globals = {
|
||||
"homedecor_doors_and_gates",
|
||||
|
||||
-- mod-deps
|
||||
"armor",
|
||||
xcompat = {fields = {"player"}},
|
||||
"armor"
|
||||
}
|
||||
|
||||
read_globals = {
|
||||
@@ -40,6 +39,4 @@ read_globals = {
|
||||
"creative",
|
||||
"doors",
|
||||
"i3",
|
||||
"xcompat",
|
||||
"player_monoids"
|
||||
}
|
||||
11
README.md
@@ -1,6 +1,6 @@
|
||||
# Minetest Homedecor Modpack
|
||||
|
||||
[](https://content.luanti.org/packages/VanessaE/homedecor_modpack/)
|
||||
[](https://content.minetest.net/packages/VanessaE/homedecor_modpack/)
|
||||
|
||||
A fairly feature-filled home decor modpack that is game agnostic.
|
||||
|
||||
@@ -16,8 +16,8 @@ first class support for:
|
||||
## Links
|
||||
|
||||
* [Github](https://github.com/mt-mods/homedecor_modpack)
|
||||
* [Contentdb](https://content.luanti.org/packages/VanessaE/homedecor_modpack/)
|
||||
* [Forums](https://forum.luanti.org/viewtopic.php?f=11&t=2041)
|
||||
* [Contentdb](https://content.minetest.net/packages/VanessaE/homedecor_modpack/)
|
||||
* [Forums](https://forum.minetest.net/viewtopic.php?f=11&t=2041)
|
||||
|
||||
# Setup
|
||||
|
||||
@@ -25,4 +25,7 @@ required:
|
||||
|
||||
* [Unifieddyes](https://github.com/mt-mods/unifieddyes)
|
||||
* [Basic Materials](https://github.com/mt-mods/basic_materials)
|
||||
* [xcompat](https://github.com/mt-mods/xcompat)
|
||||
|
||||
optional:
|
||||
|
||||
* [Sound Api](https://github.com/mt-mods/sound_api) - note: needed for sound support
|
||||
|
||||
@@ -1,35 +1,35 @@
|
||||
local S = core.get_translator("building_blocks")
|
||||
local S = minetest.get_translator("building_blocks")
|
||||
|
||||
if core.get_modpath("moreblocks") or core.get_modpath("stairs") then
|
||||
core.register_alias("building_blocks:slab_tar", "stairs:slab_Tar")
|
||||
core.register_alias("building_blocks:stair_tar", "stairs:stair_Tar")
|
||||
core.register_alias("building_blocks:slab_marble", "stairs:slab_Marble")
|
||||
core.register_alias("building_blocks:stair_marble", "stairs:stair_Marble")
|
||||
if minetest.get_modpath("moreblocks") or minetest.get_modpath("stairs") then
|
||||
minetest.register_alias("building_blocks:slab_tar", "stairs:slab_Tar")
|
||||
minetest.register_alias("building_blocks:stair_tar", "stairs:stair_Tar")
|
||||
minetest.register_alias("building_blocks:slab_marble", "stairs:slab_Marble")
|
||||
minetest.register_alias("building_blocks:stair_marble", "stairs:stair_Marble")
|
||||
end
|
||||
|
||||
if core.get_modpath("moreblocks") then
|
||||
core.register_alias_force("moreblocks:tar", "building_blocks:Tar")
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
minetest.register_alias_force("moreblocks:tar", "building_blocks:Tar")
|
||||
stairsplus:register_alias_all("building_blocks", "tar", "building_blocks", "Tar")
|
||||
stairsplus:register_alias_all("building_blocks", "marble", "building_blocks", "Marble")
|
||||
stairsplus:register_alias_all("moreblocks", "tar", "building_blocks", "Tar")
|
||||
|
||||
if core.get_modpath("gloopblocks") then
|
||||
core.register_alias("building_blocks:gravel_spread", "gloopblocks:slab_gravel_1")
|
||||
if minetest.get_modpath("gloopblocks") then
|
||||
minetest.register_alias("building_blocks:gravel_spread", "gloopblocks:slab_gravel_1")
|
||||
end
|
||||
end
|
||||
|
||||
core.register_alias("adobe", "building_blocks:Adobe")
|
||||
core.register_alias("fakegrass", "building_blocks:fakegrass")
|
||||
core.register_alias("hardwood", "building_blocks:hardwood")
|
||||
core.register_alias("tar_knife", "building_blocks:knife")
|
||||
core.register_alias("marble", "building_blocks:Marble")
|
||||
core.register_alias("building_blocks_roofing", "building_blocks:Roofing")
|
||||
core.register_alias("sticks", "building_blocks:sticks")
|
||||
core.register_alias("building_blocks:faggot", "building_blocks:sticks")
|
||||
core.register_alias("tar", "building_blocks:Tar")
|
||||
minetest.register_alias("adobe", "building_blocks:Adobe")
|
||||
minetest.register_alias("fakegrass", "building_blocks:fakegrass")
|
||||
minetest.register_alias("hardwood", "building_blocks:hardwood")
|
||||
minetest.register_alias("tar_knife", "building_blocks:knife")
|
||||
minetest.register_alias("marble", "building_blocks:Marble")
|
||||
minetest.register_alias("building_blocks_roofing", "building_blocks:Roofing")
|
||||
minetest.register_alias("sticks", "building_blocks:sticks")
|
||||
minetest.register_alias("building_blocks:faggot", "building_blocks:sticks")
|
||||
minetest.register_alias("tar", "building_blocks:Tar")
|
||||
|
||||
if not core.get_modpath("technic") then
|
||||
core.register_node( ":technic:granite", {
|
||||
if not minetest.get_modpath("technic") then
|
||||
minetest.register_node( ":technic:granite", {
|
||||
description = S("Granite"),
|
||||
tiles = { "technic_granite.png" },
|
||||
is_ground_content = true,
|
||||
@@ -39,7 +39,7 @@ if not core.get_modpath("technic") then
|
||||
key = "node_sound_stone_defaults",
|
||||
},
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "technic:granite 9",
|
||||
recipe = {
|
||||
{ "group:tar_block", "group:marble", "group:tar_block" },
|
||||
@@ -47,7 +47,7 @@ if not core.get_modpath("technic") then
|
||||
{ "group:tar_block", "group:marble", "group:tar_block" }
|
||||
},
|
||||
})
|
||||
if core.get_modpath("moreblocks") then
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
stairsplus:register_all("technic", "granite", "technic:granite", {
|
||||
description=S("Granite"),
|
||||
groups={cracky=1, not_in_creative_inventory=1},
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
local modpath = core.get_modpath("building_blocks")
|
||||
local modpath = minetest.get_modpath("building_blocks")
|
||||
|
||||
dofile(modpath.."/alias.lua")
|
||||
dofile(modpath.."/node_stairs.lua")
|
||||
dofile(modpath.."/others.lua")
|
||||
dofile(modpath.."/recipes.lua")
|
||||
|
||||
minetest.log("action", "[building_blocks] loaded.")
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local S = core.get_translator("building_blocks")
|
||||
local S = minetest.get_translator("building_blocks")
|
||||
|
||||
local function building_blocks_stairs(nodename, def)
|
||||
|
||||
@@ -13,17 +13,15 @@ local function building_blocks_stairs(nodename, def)
|
||||
def._mcl_hardness=1.6
|
||||
end
|
||||
|
||||
def.is_ground_content = def.is_ground_content == true
|
||||
|
||||
core.register_node(nodename, def)
|
||||
if core.get_modpath("moreblocks") then
|
||||
minetest.register_node(nodename, def)
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
local mod, name = nodename:match("(.*):(.*)")
|
||||
stairsplus:register_all(mod, name, nodename, def)
|
||||
|
||||
core.register_alias("stairs:slab_" .. name, mod .. ":slab_" .. name)
|
||||
core.register_alias("stairs:stair_" .. name, mod .. ":stair_" .. name)
|
||||
core.register_alias("stairs:stair_inner_" .. name, mod .. ":stair_" .. name .. "_inner")
|
||||
core.register_alias("stairs:stair_outer_" .. name, mod .. ":stair_" .. name .. "_outer")
|
||||
minetest.register_alias("stairs:slab_" .. name, mod .. ":slab_" .. name)
|
||||
minetest.register_alias("stairs:stair_" .. name, mod .. ":stair_" .. name)
|
||||
minetest.register_alias("stairs:stair_inner_" .. name, mod .. ":stair_" .. name .. "_inner")
|
||||
minetest.register_alias("stairs:stair_outer_" .. name, mod .. ":stair_" .. name .. "_outer")
|
||||
end
|
||||
end
|
||||
|
||||
@@ -33,7 +31,7 @@ building_blocks_stairs("building_blocks:grate", {
|
||||
tiles = {"building_blocks_grate.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
is_ground_content = true,
|
||||
use_texture_alpha = "clip",
|
||||
groups = {cracky=1, dig_generic=3},
|
||||
_sound_def = {
|
||||
@@ -46,7 +44,7 @@ building_blocks_stairs("building_blocks:smoothglass", {
|
||||
tiles = {"building_blocks_sglass.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
is_ground_content = true,
|
||||
use_texture_alpha = "clip",
|
||||
groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3},
|
||||
_sound_def = {
|
||||
@@ -59,7 +57,7 @@ building_blocks_stairs("building_blocks:woodglass", {
|
||||
tiles = {"building_blocks_wglass.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
is_ground_content = true,
|
||||
use_texture_alpha = "clip",
|
||||
groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3},
|
||||
_sound_def = {
|
||||
@@ -70,21 +68,20 @@ building_blocks_stairs("building_blocks:woodglass", {
|
||||
building_blocks_stairs("building_blocks:Adobe", {
|
||||
tiles = {"building_blocks_Adobe.png"},
|
||||
description = S("Adobe"),
|
||||
is_ground_content = false,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3, dig_stone=2},
|
||||
_sound_def = {
|
||||
key = "node_sound_stone_defaults",
|
||||
},
|
||||
})
|
||||
local grasstex = {
|
||||
homedecor.textures.grass.top,
|
||||
homedecor.textures.grass.dirt,
|
||||
homedecor.textures.grass.side
|
||||
}
|
||||
local grasstex = {"[combine:16x16^[noalpha^[colorize:#006400"}
|
||||
if minetest.get_modpath("default") then
|
||||
grasstex = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}
|
||||
end
|
||||
building_blocks_stairs("building_blocks:fakegrass", {
|
||||
tiles = grasstex,
|
||||
description = S("Fake Grass"),
|
||||
is_ground_content = false,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3, dig_sand=3},
|
||||
_sound_def = {
|
||||
key = "node_sound_dirt_defaults",
|
||||
@@ -92,7 +89,7 @@ building_blocks_stairs("building_blocks:fakegrass", {
|
||||
})
|
||||
building_blocks_stairs("building_blocks:hardwood", {
|
||||
tiles = {"building_blocks_hardwood.png"},
|
||||
is_ground_content = false,
|
||||
is_ground_content = true,
|
||||
description = S("Hardwood"),
|
||||
groups = {choppy=1,flammable=1, dig_tree=1},
|
||||
_sound_def = {
|
||||
@@ -101,7 +98,7 @@ building_blocks_stairs("building_blocks:hardwood", {
|
||||
})
|
||||
building_blocks_stairs("building_blocks:Roofing", {
|
||||
tiles = {"building_blocks_Roofing.png"},
|
||||
is_ground_content = false,
|
||||
is_ground_content = true,
|
||||
description = S("Roof block"),
|
||||
groups = {snappy=3, dig_generic=4},
|
||||
_sound_def = {
|
||||
@@ -111,7 +108,7 @@ building_blocks_stairs("building_blocks:Roofing", {
|
||||
building_blocks_stairs("building_blocks:Tar", {
|
||||
description = S("Tar"),
|
||||
tiles = {"building_blocks_tar.png"},
|
||||
is_ground_content = false,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=1, tar_block = 1, dig_generic=4},
|
||||
_sound_def = {
|
||||
key = "node_sound_stone_defaults",
|
||||
@@ -120,14 +117,14 @@ building_blocks_stairs("building_blocks:Tar", {
|
||||
building_blocks_stairs("building_blocks:Marble", {
|
||||
description = S("Marble"),
|
||||
tiles = {"building_blocks_marble.png"},
|
||||
is_ground_content = false,
|
||||
is_ground_content = true,
|
||||
groups = {cracky=3, marble = 1, dig_stone=2},
|
||||
_sound_def = {
|
||||
key = "node_sound_stone_defaults",
|
||||
},
|
||||
})
|
||||
|
||||
core.register_node("building_blocks:brobble_spread", {
|
||||
minetest.register_node("building_blocks:brobble_spread", {
|
||||
drawtype = "raillike",
|
||||
-- Translators: "Brobble" is a portmanteau of "Brick" and "Cobble".
|
||||
-- Translate however you see fit.
|
||||
@@ -142,14 +139,17 @@ core.register_node("building_blocks:brobble_spread", {
|
||||
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
|
||||
},
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3, dig_generic=4, handy=1},
|
||||
_mcl_hardness=0.6
|
||||
})
|
||||
|
||||
if not core.get_modpath("moreblocks") or not core.get_modpath("gloopblocks") then
|
||||
local graveltex = homedecor.textures.gravel
|
||||
core.register_node("building_blocks:gravel_spread", {
|
||||
if not minetest.get_modpath("moreblocks") or not minetest.get_modpath("gloopblocks") then
|
||||
local graveltex = "[combine:16x16^[noalpha^[colorize:#3a3b3c"
|
||||
if minetest.get_modpath("default") then
|
||||
graveltex = "default_gravel.png"
|
||||
end
|
||||
minetest.register_node("building_blocks:gravel_spread", {
|
||||
drawtype = "raillike",
|
||||
description = S("Gravel Spread"),
|
||||
tiles = {graveltex},
|
||||
@@ -162,7 +162,7 @@ if not core.get_modpath("moreblocks") or not core.get_modpath("gloopblocks") the
|
||||
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
|
||||
},
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=2, dig_generic=4, handy=1},
|
||||
_mcl_hardness=0.6,
|
||||
_sound_def = {
|
||||
@@ -171,7 +171,7 @@ if not core.get_modpath("moreblocks") or not core.get_modpath("gloopblocks") the
|
||||
})
|
||||
end
|
||||
|
||||
core.register_node("building_blocks:Tarmac_spread", {
|
||||
minetest.register_node("building_blocks:Tarmac_spread", {
|
||||
drawtype = "raillike",
|
||||
description = S("Tarmac Spread"),
|
||||
tiles = {"building_blocks_tar.png"},
|
||||
@@ -184,14 +184,14 @@ core.register_node("building_blocks:Tarmac_spread", {
|
||||
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
|
||||
},
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
is_ground_content = true,
|
||||
groups = {cracky=3, dig_generic=4, pickaxey=5},
|
||||
_mcl_hardness=1.6,
|
||||
_sound_def = {
|
||||
key = "node_sound_dirt_defaults",
|
||||
},
|
||||
})
|
||||
core.register_node("building_blocks:terrycloth_towel", {
|
||||
minetest.register_node("building_blocks:terrycloth_towel", {
|
||||
drawtype = "raillike",
|
||||
description = S("Terrycloth towel"),
|
||||
tiles = {"building_blocks_towel.png"},
|
||||
@@ -204,12 +204,12 @@ core.register_node("building_blocks:terrycloth_towel", {
|
||||
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
|
||||
},
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3, dig_generic=4, handy=1},
|
||||
_mcl_hardness=0.6
|
||||
})
|
||||
|
||||
core.register_node("building_blocks:BWtile", {
|
||||
minetest.register_node("building_blocks:BWtile", {
|
||||
drawtype = "nodebox",
|
||||
description = S("Chess board tiling"),
|
||||
tiles = {
|
||||
@@ -228,12 +228,12 @@ core.register_node("building_blocks:BWtile", {
|
||||
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
|
||||
},
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3, dig_generic=4, handy=1},
|
||||
_mcl_hardness=0.6
|
||||
})
|
||||
|
||||
core.register_node("building_blocks:Fireplace", {
|
||||
minetest.register_node("building_blocks:Fireplace", {
|
||||
description = S("Fireplace"),
|
||||
tiles = {
|
||||
"building_blocks_cast_iron.png",
|
||||
@@ -243,9 +243,9 @@ core.register_node("building_blocks:Fireplace", {
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
light_source = core.LIGHT_MAX,
|
||||
light_source = minetest.LIGHT_MAX,
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
is_ground_content = true,
|
||||
groups = {cracky=2, dig_generic=4, pickaxey=5},
|
||||
_mcl_hardness=1.6,
|
||||
_sound_def = {
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
local S = core.get_translator("building_blocks")
|
||||
local S = minetest.get_translator("building_blocks")
|
||||
|
||||
core.register_craftitem("building_blocks:sticks", {
|
||||
minetest.register_craftitem("building_blocks:sticks", {
|
||||
description = S("Small bundle of sticks"),
|
||||
inventory_image = "building_blocks_sticks.png",
|
||||
on_place_on_ground = core.craftitem_place_item,
|
||||
image = "building_blocks_sticks.png",
|
||||
on_place_on_ground = minetest.craftitem_place_item,
|
||||
})
|
||||
core.register_craftitem("building_blocks:tar_base", {
|
||||
minetest.register_craftitem("building_blocks:tar_base", {
|
||||
description = S("Tar base"),
|
||||
inventory_image = "building_blocks_tar_base.png",
|
||||
image = "building_blocks_tar_base.png",
|
||||
})
|
||||
|
||||
core.register_tool("building_blocks:knife", {
|
||||
minetest.register_tool("building_blocks:knife", {
|
||||
description = S("Tar Knife"),
|
||||
inventory_image = "building_blocks_knife.png",
|
||||
tool_capabilities = {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
local materials = homedecor.materials
|
||||
|
||||
if core.get_modpath("moreblocks") then
|
||||
core.register_craft({
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:sticks 2',
|
||||
recipe = {
|
||||
{'group:stick', '' , 'group:stick'},
|
||||
@@ -10,7 +10,7 @@ if core.get_modpath("moreblocks") then
|
||||
}
|
||||
})
|
||||
else
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:sticks',
|
||||
recipe = {
|
||||
{'group:stick', 'group:stick'},
|
||||
@@ -19,7 +19,7 @@ else
|
||||
})
|
||||
end
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:Adobe 3',
|
||||
recipe = {
|
||||
{materials.sand},
|
||||
@@ -27,33 +27,33 @@ core.register_craft({
|
||||
{"group:stick"},
|
||||
}
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:brobble_spread 4',
|
||||
recipe = {
|
||||
{materials.brick, materials.cobble, materials.brick},
|
||||
}
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:BWtile 10',
|
||||
recipe = {
|
||||
{"group:marble", "group:tar_block"},
|
||||
{"group:tar_block", "group:marble"},
|
||||
}
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:fakegrass 2',
|
||||
recipe = {
|
||||
{'group:leaves'},
|
||||
{materials.dirt},
|
||||
}
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:Fireplace 1',
|
||||
recipe = {
|
||||
{materials.steel_ingot, "building_blocks:sticks", materials.steel_ingot},
|
||||
}
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:grate 1',
|
||||
recipe = {
|
||||
{materials.steel_ingot, materials.steel_ingot},
|
||||
@@ -61,8 +61,8 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
if not core.get_modpath("moreblocks") or not core.get_modpath("gloopblocks") then
|
||||
core.register_craft({
|
||||
if not minetest.get_modpath("moreblocks") or not minetest.get_modpath("gloopblocks") then
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:gravel_spread 4',
|
||||
recipe = {
|
||||
{materials.gravel, materials.gravel, materials.gravel},
|
||||
@@ -70,15 +70,15 @@ if not core.get_modpath("moreblocks") or not core.get_modpath("gloopblocks") the
|
||||
})
|
||||
end
|
||||
|
||||
if core.get_modpath("default") then
|
||||
core.register_craft({
|
||||
if minetest.get_modpath("default") then
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:hardwood 2',
|
||||
recipe = {
|
||||
{"default:wood", "default:junglewood"},
|
||||
{"default:junglewood", "default:wood"},
|
||||
}
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:hardwood 2',
|
||||
recipe = {
|
||||
{"default:junglewood", "default:wood"},
|
||||
@@ -86,14 +86,14 @@ if core.get_modpath("default") then
|
||||
}
|
||||
})
|
||||
end
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:knife 1',
|
||||
recipe = {
|
||||
{"group:tar_block"},
|
||||
{"group:stick"},
|
||||
}
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "building_blocks:Marble 9",
|
||||
recipe = {
|
||||
{materials.clay_lump, "group:tar_block", materials.clay_lump},
|
||||
@@ -101,46 +101,46 @@ core.register_craft({
|
||||
{materials.clay_lump, "group:tar_block",materials.clay_lump},
|
||||
}
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:Roofing 10',
|
||||
recipe = {
|
||||
{"building_blocks:Adobe", "building_blocks:Adobe"},
|
||||
{"building_blocks:Adobe", "building_blocks:Adobe"},
|
||||
}
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'default:stick 4',
|
||||
recipe = {
|
||||
{'building_blocks:sticks'},
|
||||
}
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:tar_base 4',
|
||||
recipe = {
|
||||
{materials.coal_lump, materials.gravel},
|
||||
{materials.gravel, materials.coal_lump}
|
||||
}
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:tar_base 4',
|
||||
recipe = {
|
||||
{materials.gravel, materials.coal_lump},
|
||||
{materials.coal_lump, materials.gravel}
|
||||
}
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:Tarmac_spread 4',
|
||||
recipe = {
|
||||
{"group:tar_block", "group:tar_block"},
|
||||
}
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:terrycloth_towel 2',
|
||||
recipe = {
|
||||
{"farming:string", "farming:string", "farming:string"},
|
||||
}
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'building_blocks:woodglass 1',
|
||||
recipe = {
|
||||
{"group:wood"},
|
||||
@@ -148,28 +148,28 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "building_blocks:smoothglass",
|
||||
recipe = materials.glass_block
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "building_blocks:Tar",
|
||||
recipe = "building_blocks:tar_base",
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "building_blocks:hardwood",
|
||||
burntime = 28,
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "building_blocks:sticks",
|
||||
burntime = 5,
|
||||
})
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "building_blocks:Tar",
|
||||
burntime = 40,
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
local S = core.get_translator("fake_fire")
|
||||
local S = minetest.get_translator("fake_fire")
|
||||
|
||||
local fake_fire_reload_particles_nodes = {}
|
||||
|
||||
local function fire_particles_on(pos) -- 3 layers of fire
|
||||
local meta = core.get_meta(pos)
|
||||
local id1 = core.add_particlespawner({ -- 1 layer big particles fire
|
||||
local meta = minetest.get_meta(pos)
|
||||
local id1 = 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},
|
||||
@@ -24,7 +24,7 @@ local function fire_particles_on(pos) -- 3 layers of fire
|
||||
})
|
||||
meta:set_int("layer_1", id1)
|
||||
|
||||
local id2 = core.add_particlespawner({ -- 2 layer smol particles fire
|
||||
local id2 = 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},
|
||||
@@ -44,7 +44,7 @@ local function fire_particles_on(pos) -- 3 layers of fire
|
||||
})
|
||||
meta:set_int("layer_2", id2)
|
||||
|
||||
local id3 = core.add_particlespawner({ --3 layer smoke
|
||||
local id3 = 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},
|
||||
@@ -66,35 +66,35 @@ local function fire_particles_on(pos) -- 3 layers of fire
|
||||
end
|
||||
|
||||
local function fire_particles_off(pos)
|
||||
local meta = core.get_meta(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");
|
||||
core.delete_particlespawner(id_1)
|
||||
core.delete_particlespawner(id_2)
|
||||
core.delete_particlespawner(id_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 = core.get_meta(pos)
|
||||
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")
|
||||
local above = core.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name
|
||||
local above = minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name
|
||||
|
||||
if id ~= 0 then
|
||||
if s_handle then
|
||||
core.after(0, function(handle)
|
||||
core.sound_stop(handle)
|
||||
minetest.after(0, function(handle)
|
||||
minetest.sound_stop(handle)
|
||||
end, s_handle)
|
||||
end
|
||||
core.delete_particlespawner(id)
|
||||
minetest.delete_particlespawner(id)
|
||||
this_spawner_meta:set_int("smoky", 0)
|
||||
this_spawner_meta:set_int("sound", 0)
|
||||
return
|
||||
end
|
||||
|
||||
if above == "air" and (not id or id == 0) then
|
||||
id = core.add_particlespawner({
|
||||
id = minetest.add_particlespawner({
|
||||
amount = 4, time = 0, collisiondetection = true,
|
||||
minpos = {x=pos.x-0.25, y=pos.y+0.4, z=pos.z-0.25},
|
||||
maxpos = {x=pos.x+0.25, y=pos.y+5, z=pos.z+0.25},
|
||||
@@ -108,7 +108,7 @@ local function start_fire_effects(pos, node, clicker, chimney)
|
||||
if chimney == 1 then
|
||||
this_spawner_meta:set_int("sound", 0)
|
||||
else
|
||||
s_handle = core.sound_play("fire_small", {
|
||||
s_handle = minetest.sound_play("fire_small", {
|
||||
pos = pos,
|
||||
max_hear_distance = 5,
|
||||
loop = true
|
||||
@@ -121,17 +121,17 @@ local function start_fire_effects(pos, node, clicker, chimney)
|
||||
end
|
||||
|
||||
local function stop_smoke(pos)
|
||||
local this_spawner_meta = core.get_meta(pos)
|
||||
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")
|
||||
|
||||
if id ~= 0 then
|
||||
core.delete_particlespawner(id)
|
||||
minetest.delete_particlespawner(id)
|
||||
end
|
||||
|
||||
if s_handle then
|
||||
core.after(0, function(handle)
|
||||
core.sound_stop(handle)
|
||||
minetest.after(0, function(handle)
|
||||
minetest.sound_stop(handle)
|
||||
end, s_handle)
|
||||
end
|
||||
|
||||
@@ -139,14 +139,13 @@ local function stop_smoke(pos)
|
||||
this_spawner_meta:set_int("sound", 0)
|
||||
end
|
||||
|
||||
core.register_node("fake_fire:ice_fire", {
|
||||
minetest.register_node("fake_fire:ice_fire", {
|
||||
inventory_image = "ice_fire_inv.png",
|
||||
description = S("Ice fire"),
|
||||
drawtype = "plantlike",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {dig_immediate=3, not_in_creative_inventory=1, dig_generic=3, handy=1},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=0.6,
|
||||
sunlight_propagates = true,
|
||||
buildable_to = true,
|
||||
@@ -164,23 +163,23 @@ core.register_node("fake_fire:ice_fire", {
|
||||
on_destruct = function (pos)
|
||||
stop_smoke(pos)
|
||||
fire_particles_off(pos)
|
||||
core.sound_play("fire_extinguish", {
|
||||
minetest.sound_play("fire_extinguish", {
|
||||
pos = pos, max_hear_distance = 5
|
||||
})
|
||||
end,
|
||||
drop = ""
|
||||
})
|
||||
|
||||
core.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},
|
||||
}
|
||||
|
||||
local wtex = homedecor.textures.wood.jungle.planks
|
||||
local wtex = homedecor.textures.default_junglewood
|
||||
|
||||
core.register_node("fake_fire:fancy_fire", {
|
||||
minetest.register_node("fake_fire:fancy_fire", {
|
||||
inventory_image = "fancy_fire_inv.png",
|
||||
description = S("Fancy Fire"),
|
||||
drawtype = "mesh",
|
||||
@@ -189,7 +188,6 @@ core.register_node("fake_fire:fancy_fire", {
|
||||
paramtype2 = "facedir",
|
||||
use_texture_alpha = "clip",
|
||||
groups = {oddly_breakable_by_hand=3, flammable=0, handy=1},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=0.6,
|
||||
sunlight_propagates = true,
|
||||
light_source = 13,
|
||||
@@ -212,7 +210,7 @@ core.register_node("fake_fire:fancy_fire", {
|
||||
end,
|
||||
on_destruct = function(pos, oldnode, oldmetadata, digger)
|
||||
fire_particles_off(pos)
|
||||
core.sound_play("fire_extinguish", {
|
||||
minetest.sound_play("fire_extinguish", {
|
||||
pos = pos, max_hear_distance = 5
|
||||
})
|
||||
end,
|
||||
@@ -228,7 +226,7 @@ core.register_node("fake_fire:fancy_fire", {
|
||||
})
|
||||
|
||||
-- EMBERS
|
||||
core.register_node("fake_fire:embers", {
|
||||
minetest.register_node("fake_fire:embers", {
|
||||
description = S("Glowing Embers"),
|
||||
tiles = {
|
||||
{name="embers_animated.png", animation={type="vertical_frames",
|
||||
@@ -236,7 +234,6 @@ core.register_node("fake_fire:embers", {
|
||||
},
|
||||
light_source = 9,
|
||||
groups = {crumbly=3, dig_stone=2, handy=1},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=0.6,
|
||||
paramtype = "light",
|
||||
_sound_def = {
|
||||
@@ -245,12 +242,12 @@ core.register_node("fake_fire:embers", {
|
||||
})
|
||||
|
||||
local sandstone_tex = "default_sandstone.png"
|
||||
if not core.get_modpath("default") then
|
||||
local sname = core.registered_nodes["mapgen_stone"].name
|
||||
if not minetest.get_modpath("default") then
|
||||
local sname = minetest.registered_nodes["mapgen_stone"].name
|
||||
local names = sname:split(":")
|
||||
local nitem = names[2] and string.gsub(names[2], "stone", "sandstone") or nil
|
||||
if nitem and core.registered_nodes[names[1]..":"..nitem] then
|
||||
sandstone_tex = core.registered_nodes[names[1]..":"..nitem].tiles[1]
|
||||
if nitem and minetest.registered_nodes[names[1]..":"..nitem] then
|
||||
sandstone_tex = minetest.registered_nodes[names[1]..":"..nitem].tiles[1]
|
||||
else
|
||||
sandstone_tex = "[combine:16x16^[noalpha^[colorize:#fefebe"
|
||||
end
|
||||
@@ -258,18 +255,17 @@ end
|
||||
|
||||
-- CHIMNEYS
|
||||
local materials = {
|
||||
{ "stone", S("Stone chimney top"), core.registered_nodes["mapgen_stone"].tiles[1] },
|
||||
{ "stone", S("Stone chimney top"), minetest.registered_nodes["mapgen_stone"].tiles[1] },
|
||||
{ "sandstone", S("Sandstone chimney top"), sandstone_tex },
|
||||
}
|
||||
|
||||
for _, mat in ipairs(materials) do
|
||||
local name, desc, tex = unpack(mat)
|
||||
table.insert(fake_fire_reload_particles_nodes, "fake_fire:chimney_top_"..name)
|
||||
core.register_node("fake_fire:chimney_top_"..name, {
|
||||
minetest.register_node("fake_fire:chimney_top_"..name, {
|
||||
description = desc,
|
||||
tiles = {tex.."^chimney_top.png", tex},
|
||||
groups = {snappy=3, dig_stone=2, handy=1},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=0.6,
|
||||
paramtype = "light",
|
||||
_sound_def = {
|
||||
@@ -290,8 +286,8 @@ for _, mat in ipairs(materials) do
|
||||
end
|
||||
})
|
||||
|
||||
if core.get_modpath("default") then
|
||||
core.register_craft({
|
||||
if minetest.get_modpath("default") then
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = 'fake_fire:chimney_top_'..name,
|
||||
recipe = {"default:torch", "stairs:slab_"..name}
|
||||
@@ -299,28 +295,28 @@ for _, mat in ipairs(materials) do
|
||||
end
|
||||
end
|
||||
|
||||
core.register_alias("fake_fire:flint_and_steel", "fire:flint_and_steel")
|
||||
minetest.register_alias("fake_fire:flint_and_steel", "fire:flint_and_steel")
|
||||
|
||||
if core.get_modpath("default") then
|
||||
core.override_item("default:ice", {
|
||||
if minetest.get_modpath("default") then
|
||||
minetest.override_item("default:ice", {
|
||||
on_ignite = function(pos, igniter)
|
||||
local flame_pos = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if core.get_node(flame_pos).name == "air" then
|
||||
core.set_node(flame_pos, {name = "fake_fire:ice_fire"})
|
||||
if minetest.get_node(flame_pos).name == "air" then
|
||||
minetest.set_node(flame_pos, {name = "fake_fire:ice_fire"})
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
-- CRAFTS
|
||||
if core.get_modpath("default") then
|
||||
core.register_craft({
|
||||
if minetest.get_modpath("default") then
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = 'fake_fire:embers',
|
||||
recipe = {"default:torch", "group:wood", "default:torch"}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = 'fake_fire:fancy_fire',
|
||||
recipe = {"default:torch", "building_blocks:sticks", "default:torch" }
|
||||
@@ -329,15 +325,15 @@ end
|
||||
|
||||
-- ALIASES
|
||||
|
||||
core.register_alias("fake_fire:smokeless_fire", "fake_fire:fake_fire")
|
||||
core.register_alias("fake_fire:smokeless_ice_fire", "fake_fire:ice_fire")
|
||||
core.register_alias("fake_fire:smokeless_chimney_top_stone", "fake_fire:chimney_top_stone")
|
||||
core.register_alias("fake_fire:smokeless_chimney_top_sandstone", "fake_fire:chimney_top_sandstone")
|
||||
core.register_alias("fake_fire:flint", "fake_fire:flint_and_steel")
|
||||
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
|
||||
|
||||
core.register_lbm({
|
||||
minetest.register_lbm({
|
||||
name = "fake_fire:reload_particles",
|
||||
label = "restart fire particles on reload",
|
||||
nodenames = { "fake_fire:fancy_fire" },
|
||||
@@ -348,15 +344,18 @@ core.register_lbm({
|
||||
end
|
||||
})
|
||||
|
||||
core.register_lbm({
|
||||
minetest.register_lbm({
|
||||
name = "fake_fire:reload_particles_chimney",
|
||||
label = "restart chimney smoke on reload",
|
||||
nodenames = fake_fire_reload_particles_nodes,
|
||||
run_at_every_load = true,
|
||||
action = function(pos, node)
|
||||
if core.get_meta(pos):get_int("smoky") ~= 0 then
|
||||
if minetest.get_meta(pos):get_int("smoky") ~= 0 then
|
||||
stop_smoke(pos)
|
||||
start_fire_effects(pos, node, nil, 1)
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
|
||||
minetest.log("action", "[fake_fire] loaded.")
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
if core.get_modpath("default") then
|
||||
core.override_item("default:bookshelf", {
|
||||
if minetest.get_modpath("default") then
|
||||
minetest.override_item("default:bookshelf", {
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_3d_bookshelf.obj",
|
||||
tiles = {
|
||||
@@ -12,8 +12,8 @@ if core.get_modpath("default") then
|
||||
})
|
||||
end
|
||||
|
||||
if core.get_modpath("vessels") then
|
||||
core.override_item("vessels:shelf", {
|
||||
if minetest.get_modpath("vessels") then
|
||||
minetest.override_item("vessels:shelf", {
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_3d_vessels_shelf.obj",
|
||||
tiles = {
|
||||
@@ -23,6 +23,7 @@ if core.get_modpath("vessels") then
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
use_texture_alpha = "blend",
|
||||
})
|
||||
|
||||
local sbox = {
|
||||
@@ -30,16 +31,17 @@ if core.get_modpath("vessels") then
|
||||
fixed = { -0.15, -0.5, -0.15, 0.15, -0.1, 0.15 }
|
||||
}
|
||||
|
||||
core.override_item("vessels:glass_bottle", {
|
||||
minetest.override_item("vessels:glass_bottle", {
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_3d_vessels_bottle.obj",
|
||||
tiles = {"homedecor_3d_vessels_shelf_glass.png"},
|
||||
inventory_image = "homedecor_3d_vessels_glass_bottle_inv.png",
|
||||
wield_image = "homedecor_3d_vessels_glass_bottle_inv.png",
|
||||
use_texture_alpha = "blend",
|
||||
selection_box = sbox
|
||||
})
|
||||
|
||||
core.override_item("vessels:steel_bottle", {
|
||||
minetest.override_item("vessels:steel_bottle", {
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_3d_vessels_bottle_steel.obj",
|
||||
tiles = {"homedecor_3d_bottle_metal_bright.png"},
|
||||
@@ -48,18 +50,19 @@ if core.get_modpath("vessels") then
|
||||
selection_box = sbox
|
||||
})
|
||||
|
||||
core.override_item("vessels:drinking_glass", {
|
||||
minetest.override_item("vessels:drinking_glass", {
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_3d_vessels_drink.obj",
|
||||
tiles = {"homedecor_3d_vessels_shelf_glass.png"},
|
||||
inventory_image = "homedecor_3d_vessels_drinking_glass_inv.png",
|
||||
wield_image = "homedecor_3d_vessels_drinking_glass_inv.png",
|
||||
use_texture_alpha = "blend",
|
||||
selection_box = sbox
|
||||
})
|
||||
end
|
||||
|
||||
if core.get_modpath("moreblocks") then
|
||||
core.override_item("moreblocks:empty_bookshelf", {
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
minetest.override_item("moreblocks:empty_bookshelf", {
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
"default_wood.png^[transformR180",
|
||||
@@ -87,24 +90,24 @@ end
|
||||
|
||||
-- 3d-ify default mtg wood and steel doors and trap doors
|
||||
|
||||
if core.get_modpath("doors") then
|
||||
if minetest.get_modpath("doors") then
|
||||
local def
|
||||
for _,mat in ipairs({"wood", "steel"}) do
|
||||
def = table.copy(core.registered_nodes["doors:door_"..mat.."_a"])
|
||||
def = table.copy(minetest.registered_nodes["doors:door_"..mat.."_a"])
|
||||
def.groups.handy = 1
|
||||
def._mcl_hardness=0.6
|
||||
def.mesh = "homedecor_3d_door_"..mat.."_a.obj"
|
||||
core.register_node(":doors:door_"..mat.."_a", def)
|
||||
minetest.register_node(":doors:door_"..mat.."_a", def)
|
||||
|
||||
def = table.copy(core.registered_nodes["doors:door_"..mat.."_b"])
|
||||
def = table.copy(minetest.registered_nodes["doors:door_"..mat.."_b"])
|
||||
def.groups.handy = 1
|
||||
def._mcl_hardness=0.6
|
||||
def.mesh = "homedecor_3d_door_"..mat.."_b.obj"
|
||||
core.register_node(":doors:door_"..mat.."_b", def)
|
||||
minetest.register_node(":doors:door_"..mat.."_b", def)
|
||||
end
|
||||
|
||||
for _,mat in ipairs({"", "_steel"}) do
|
||||
def = table.copy(core.registered_nodes["doors:trapdoor"..mat])
|
||||
def = table.copy(minetest.registered_nodes["doors:trapdoor"..mat])
|
||||
def.groups.handy = 1
|
||||
def._mcl_hardness=0.6
|
||||
def.drawtype = "mesh"
|
||||
@@ -113,9 +116,9 @@ if core.get_modpath("doors") then
|
||||
"doors_trapdoor"..mat..".png",
|
||||
"doors_trapdoor"..mat.."_side.png"
|
||||
}
|
||||
core.register_node(":doors:trapdoor"..mat, def)
|
||||
minetest.register_node(":doors:trapdoor"..mat, def)
|
||||
|
||||
def = table.copy(core.registered_nodes["doors:trapdoor"..mat.."_open"])
|
||||
def = table.copy(minetest.registered_nodes["doors:trapdoor"..mat.."_open"])
|
||||
def.groups.handy = 1
|
||||
def._mcl_hardness=0.6
|
||||
def.mesh = "homedecor_3d_trapdoor"..mat.."_open.obj"
|
||||
@@ -124,7 +127,10 @@ if core.get_modpath("doors") then
|
||||
"doors_trapdoor"..mat..".png",
|
||||
"doors_trapdoor"..mat.."_side.png"
|
||||
}
|
||||
core.register_node(":doors:trapdoor"..mat.."_open", def)
|
||||
minetest.register_node(":doors:trapdoor"..mat.."_open", def)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
minetest.log("action", "[homedecor_3d_extra] loaded.")
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
local S = core.get_translator("homedecor_bathroom")
|
||||
local S = minetest.get_translator("homedecor_bathroom")
|
||||
|
||||
local sc_disallow = core.get_modpath("screwdriver") and screwdriver.disallow or nil
|
||||
local sc_disallow = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil
|
||||
|
||||
local wood_tex = homedecor.textures.wood.apple.planks
|
||||
local water_tex = homedecor.textures.water.tile
|
||||
local wood_tex = homedecor.textures.default_wood
|
||||
local water_tex = homedecor.textures.water
|
||||
|
||||
homedecor.register("bathroom_tiles_dark", {
|
||||
description = S("Bathroom/kitchen tiles (dark)"),
|
||||
@@ -137,10 +137,10 @@ homedecor.register("medicine_cabinet", {
|
||||
},
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
node.name = "homedecor:medicine_cabinet_open"
|
||||
core.swap_node(pos, node)
|
||||
minetest.swap_node(pos, node)
|
||||
end,
|
||||
can_dig = function(pos)
|
||||
local inv = core.get_meta(pos):get_inventory("main")
|
||||
local inv = minetest.get_meta(pos):get_inventory("main")
|
||||
return inv:is_empty("main")
|
||||
end,
|
||||
infotext=S("Medicine cabinet"),
|
||||
@@ -174,10 +174,10 @@ homedecor.register("medicine_cabinet_open", {
|
||||
drop = "homedecor:medicine_cabinet",
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
node.name = "homedecor:medicine_cabinet"
|
||||
core.swap_node(pos, node)
|
||||
minetest.swap_node(pos, node)
|
||||
end,
|
||||
can_dig = function(pos)
|
||||
local inv = core.get_meta(pos):get_inventory("main")
|
||||
local inv = minetest.get_meta(pos):get_inventory("main")
|
||||
return inv:is_empty("main")
|
||||
end,
|
||||
})
|
||||
@@ -214,7 +214,7 @@ homedecor.register("toilet", {
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
node.name = "homedecor:toilet_open"
|
||||
core.set_node(pos, node)
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
crafts = {
|
||||
{
|
||||
@@ -239,14 +239,15 @@ homedecor.register("toilet_open", {
|
||||
selection_box = toilet_sbox,
|
||||
collision_box = toilet_cbox,
|
||||
drop = "homedecor:toilet",
|
||||
use_texture_alpha = "blend",
|
||||
groups = {cracky=3, dig_stone = 2},
|
||||
_sound_def = {
|
||||
key = "node_sound_stone_defaults",
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
node.name = "homedecor:toilet"
|
||||
core.set_node(pos, node)
|
||||
core.sound_play("homedecor_toilet_flush", {
|
||||
minetest.set_node(pos, node)
|
||||
minetest.sound_play("homedecor_toilet_flush", {
|
||||
pos=pos,
|
||||
max_hear_distance = 5,
|
||||
gain = 1,
|
||||
@@ -336,7 +337,7 @@ homedecor.register("sink", {
|
||||
--Taps
|
||||
|
||||
local function taps_on_rightclick(pos, node, clicker, itemstack, pointed_thing)
|
||||
local below = core.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
|
||||
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
|
||||
if below and
|
||||
below.name == "homedecor:shower_tray" or
|
||||
string.find(below.name, "homedecor:.*sink") then
|
||||
@@ -475,7 +476,7 @@ homedecor.register("shower_head", {
|
||||
walkable = false,
|
||||
on_rotate = sc_disallow or nil,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local below = core.get_node_or_nil({x=pos.x, y=pos.y-2.0, z=pos.z})
|
||||
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-2.0, z=pos.z})
|
||||
if below and (
|
||||
below.name == "homedecor:shower_tray" or
|
||||
below.name == "homedecor:bathtub_clawfoot_brass_taps" or
|
||||
@@ -618,20 +619,20 @@ homedecor.register("bathroom_set", {
|
||||
|
||||
-- aliases
|
||||
|
||||
core.register_alias("3dforniture:toilet", "homedecor:toilet")
|
||||
core.register_alias("3dforniture:toilet_open", "homedecor:toilet_open")
|
||||
core.register_alias("3dforniture:sink", "homedecor:sink")
|
||||
core.register_alias("3dforniture:taps", "homedecor:taps")
|
||||
core.register_alias("3dforniture:shower_tray", "homedecor:shower_tray")
|
||||
core.register_alias("3dforniture:shower_head", "homedecor:shower_head")
|
||||
core.register_alias("3dforniture:table_lamp", "homedecor:table_lamp_off")
|
||||
minetest.register_alias("3dforniture:toilet", "homedecor:toilet")
|
||||
minetest.register_alias("3dforniture:toilet_open", "homedecor:toilet_open")
|
||||
minetest.register_alias("3dforniture:sink", "homedecor:sink")
|
||||
minetest.register_alias("3dforniture:taps", "homedecor:taps")
|
||||
minetest.register_alias("3dforniture:shower_tray", "homedecor:shower_tray")
|
||||
minetest.register_alias("3dforniture:shower_head", "homedecor:shower_head")
|
||||
minetest.register_alias("3dforniture:table_lamp", "homedecor:table_lamp_off")
|
||||
|
||||
core.register_alias("toilet", "homedecor:toilet")
|
||||
core.register_alias("sink", "homedecor:sink")
|
||||
core.register_alias("taps", "homedecor:taps")
|
||||
core.register_alias("shower_tray", "homedecor:shower_tray")
|
||||
core.register_alias("shower_head", "homedecor:shower_head")
|
||||
core.register_alias("table_lamp", "homedecor:table_lamp_off")
|
||||
minetest.register_alias("toilet", "homedecor:toilet")
|
||||
minetest.register_alias("sink", "homedecor:sink")
|
||||
minetest.register_alias("taps", "homedecor:taps")
|
||||
minetest.register_alias("shower_tray", "homedecor:shower_tray")
|
||||
minetest.register_alias("shower_head", "homedecor:shower_head")
|
||||
minetest.register_alias("table_lamp", "homedecor:table_lamp_off")
|
||||
|
||||
-- convert old static nodes
|
||||
|
||||
@@ -654,7 +655,7 @@ local old_to_color = {
|
||||
"black"
|
||||
}
|
||||
|
||||
core.register_lbm({
|
||||
minetest.register_lbm({
|
||||
name = ":homedecor:convert_bathroom_tiles",
|
||||
label = "Convert bathroom tiles to use param2 color",
|
||||
run_at_every_load = false,
|
||||
@@ -678,8 +679,8 @@ core.register_lbm({
|
||||
|
||||
local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "extended")
|
||||
|
||||
core.set_node(pos, { name = newname, param2 = paletteidx })
|
||||
local meta = core.get_meta(pos)
|
||||
minetest.set_node(pos, { name = newname, param2 = paletteidx })
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
meta:set_string("palette", "ext")
|
||||
end
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
local S = core.get_translator("homedecor_bedroom")
|
||||
local S = minetest.get_translator("homedecor_bedroom")
|
||||
|
||||
local sc_disallow = core.get_modpath("screwdriver") and screwdriver.disallow or nil
|
||||
local sc_disallow = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil
|
||||
|
||||
local wood_tex, wool_tex = homedecor.textures.wood.apple.planks, homedecor.textures.wool.white
|
||||
local wood_tex, wool_tex = homedecor.textures.default_wood, homedecor.textures.wool_white
|
||||
|
||||
local bed_sbox = {
|
||||
type = "wallmounted",
|
||||
@@ -33,7 +33,7 @@ local kbed_cbox = {
|
||||
}
|
||||
|
||||
|
||||
local bed_def = core.registered_nodes["beds:bed"]
|
||||
local bed_def = minetest.registered_nodes["beds:bed"]
|
||||
local bed_on_rightclick = bed_def and bed_def.on_rightclick or nil
|
||||
|
||||
homedecor.register("bed_regular", {
|
||||
@@ -256,7 +256,7 @@ for _, color in ipairs(bedcolors) do
|
||||
table.insert(old_bed_nodes, "homedecor:bed_"..color.."_kingsize")
|
||||
end
|
||||
|
||||
core.register_lbm({
|
||||
minetest.register_lbm({
|
||||
name = ":homedecor:convert_beds",
|
||||
label = "Convert homedecor static bed nodes to use param2 color",
|
||||
run_at_every_load = false,
|
||||
@@ -297,8 +297,8 @@ core.register_lbm({
|
||||
new_name = "homedecor:bed_kingsize"
|
||||
end
|
||||
|
||||
core.node(pos, { name = new_name, param2 = param2 })
|
||||
local meta = core.get_meta(pos)
|
||||
minetest.set_node(pos, { name = new_name, param2 = param2 })
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
end
|
||||
})
|
||||
@@ -306,7 +306,7 @@ core.register_lbm({
|
||||
-- crafting
|
||||
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:nightstand_oak_one_drawer",
|
||||
recipe = {
|
||||
{ "homedecor:drawer_small" },
|
||||
@@ -314,13 +314,13 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:nightstand_oak_one_drawer",
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:nightstand_oak_two_drawers",
|
||||
recipe = {
|
||||
{ "homedecor:drawer_small" },
|
||||
@@ -329,7 +329,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:nightstand_oak_two_drawers",
|
||||
recipe = {
|
||||
{ "homedecor:nightstand_oak_one_drawer" },
|
||||
@@ -337,7 +337,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:nightstand_oak_two_drawers",
|
||||
burntime = 30,
|
||||
@@ -345,7 +345,7 @@ core.register_craft({
|
||||
|
||||
--
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:nightstand_mahogany_one_drawer",
|
||||
recipe = {
|
||||
@@ -354,13 +354,13 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:nightstand_mahogany_one_drawer",
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:nightstand_mahogany_two_drawers",
|
||||
recipe = {
|
||||
@@ -369,7 +369,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:nightstand_mahogany_two_drawers",
|
||||
burntime = 30,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local S = core.get_translator("homedecor_books")
|
||||
local S = minetest.get_translator("homedecor_books")
|
||||
|
||||
local bookcolors = {
|
||||
{ "red", 0xffd26466 },
|
||||
@@ -27,9 +27,9 @@ for _, c in ipairs(bookcolors) do
|
||||
local color, hue = unpack(c)
|
||||
|
||||
local function book_dig(pos, node, digger)
|
||||
if not digger or core.is_protected(pos, digger:get_player_name()) then return end
|
||||
local meta = core.get_meta(pos)
|
||||
local data = core.serialize({
|
||||
if not digger or minetest.is_protected(pos, digger:get_player_name()) then return end
|
||||
local meta = minetest.get_meta(pos)
|
||||
local data = minetest.serialize({
|
||||
title = meta:get_string("title") or "",
|
||||
text = meta:get_string("text") or "",
|
||||
owner = meta:get_string("owner") or "",
|
||||
@@ -41,9 +41,9 @@ for _, c in ipairs(bookcolors) do
|
||||
})
|
||||
stack = digger:get_inventory():add_item("main", stack)
|
||||
if not stack:is_empty() then
|
||||
core.item_drop(stack, digger, pos)
|
||||
minetest.item_drop(stack, digger, pos)
|
||||
end
|
||||
core.remove_node(pos)
|
||||
minetest.remove_node(pos)
|
||||
end
|
||||
|
||||
homedecor.register("book_"..color, {
|
||||
@@ -62,28 +62,28 @@ for _, c in ipairs(bookcolors) do
|
||||
stack_max = 1,
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
local fdir = node.param2
|
||||
core.swap_node(pos, { name = "homedecor:book_open_"..color, param2 = fdir })
|
||||
minetest.swap_node(pos, { name = "homedecor:book_open_"..color, param2 = fdir })
|
||||
end,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local plname = placer:get_player_name()
|
||||
local pos = pointed_thing.under
|
||||
local node = core.get_node_or_nil(pos)
|
||||
local def = node and core.registered_nodes[node.name]
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
local def = node and minetest.registered_nodes[node.name]
|
||||
if not def or not def.buildable_to then
|
||||
pos = pointed_thing.above
|
||||
node = core.get_node_or_nil(pos)
|
||||
def = node and core.registered_nodes[node.name]
|
||||
node = minetest.get_node_or_nil(pos)
|
||||
def = node and minetest.registered_nodes[node.name]
|
||||
if not def or not def.buildable_to then return itemstack end
|
||||
end
|
||||
if core.is_protected(pos, plname) then return itemstack end
|
||||
local fdir = core.dir_to_facedir(placer:get_look_dir())
|
||||
core.set_node(pos, {
|
||||
if minetest.is_protected(pos, plname) then return itemstack end
|
||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||
minetest.set_node(pos, {
|
||||
name = "homedecor:book_"..color,
|
||||
param2 = fdir,
|
||||
})
|
||||
local text = itemstack:get_meta():get_string("")
|
||||
local meta = core.get_meta(pos)
|
||||
local data = core.deserialize(text) or {}
|
||||
local text = itemstack:get_metadata() or ""
|
||||
local meta = minetest.get_meta(pos)
|
||||
local data = minetest.deserialize(text) or {}
|
||||
if type(data) ~= "table" then
|
||||
data = {}
|
||||
-- Store raw metadata in case some data is lost by the
|
||||
@@ -97,7 +97,7 @@ for _, c in ipairs(bookcolors) do
|
||||
if data.title and data.title ~= "" then
|
||||
meta:set_string("infotext", data.title)
|
||||
end
|
||||
if not core.is_creative_enabled(plname) then
|
||||
if not minetest.is_creative_enabled(plname) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
@@ -121,7 +121,7 @@ for _, c in ipairs(bookcolors) do
|
||||
walkable = false,
|
||||
on_dig = book_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local player_name = clicker:get_player_name()
|
||||
local title = meta:get_string("title") or ""
|
||||
local text = meta:get_string("text") or ""
|
||||
@@ -130,25 +130,25 @@ for _, c in ipairs(bookcolors) do
|
||||
if owner == "" or owner == player_name then
|
||||
formspec = "size[8,8]"..
|
||||
"field[0.5,1;7.5,0;title;Book title :;"..
|
||||
core.formspec_escape(title).."]"..
|
||||
minetest.formspec_escape(title).."]"..
|
||||
"textarea[0.5,1.5;7.5,7;text;Book content :;"..
|
||||
core.formspec_escape(text).."]"..
|
||||
minetest.formspec_escape(text).."]"..
|
||||
"button_exit[2.5,7.5;3,1;save;Save]"
|
||||
else
|
||||
formspec = "size[8,8]"..
|
||||
"button_exit[7,0.25;1,0.5;close;X]"..
|
||||
"label[0.5,0.5;by "..owner.."]"..
|
||||
"label[0.5,0;"..core.formspec_escape(title).."]"..
|
||||
"textarea[0.5,1.5;7.5,7;;"..core.formspec_escape(text)..";]"
|
||||
"label[0.5,0;"..minetest.formspec_escape(title).."]"..
|
||||
"textarea[0.5,1.5;7.5,7;;"..minetest.formspec_escape(text)..";]"
|
||||
end
|
||||
player_current_book[player_name] = pos
|
||||
core.show_formspec(player_name, BOOK_FORMNAME, formspec)
|
||||
minetest.show_formspec(player_name, BOOK_FORMNAME, formspec)
|
||||
return itemstack
|
||||
end,
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
local fdir = node.param2
|
||||
core.swap_node(pos, { name = "homedecor:book_"..color, param2 = fdir })
|
||||
core.sound_play("homedecor_book_close", {
|
||||
minetest.swap_node(pos, { name = "homedecor:book_"..color, param2 = fdir })
|
||||
minetest.sound_play("homedecor_book_close", {
|
||||
pos=pos,
|
||||
max_hear_distance = 3,
|
||||
gain = 2,
|
||||
@@ -161,7 +161,7 @@ for _, c in ipairs(bookcolors) do
|
||||
})
|
||||
|
||||
-- crafting
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:book_"..color,
|
||||
recipe = {
|
||||
@@ -172,7 +172,7 @@ for _, c in ipairs(bookcolors) do
|
||||
|
||||
end
|
||||
|
||||
core.register_on_player_receive_fields(function(player, form_name, fields)
|
||||
minetest.register_on_player_receive_fields(function(player, form_name, fields)
|
||||
if form_name ~= BOOK_FORMNAME then
|
||||
return false
|
||||
end
|
||||
@@ -181,7 +181,7 @@ core.register_on_player_receive_fields(function(player, form_name, fields)
|
||||
if not pos then
|
||||
return true
|
||||
end
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local owner = meta:get_string("owner")
|
||||
if owner ~= "" and player_name ~= owner or not fields.save then
|
||||
player_current_book[player_name] = nil
|
||||
@@ -193,8 +193,8 @@ core.register_on_player_receive_fields(function(player, form_name, fields)
|
||||
if (fields.title or "") ~= "" then
|
||||
meta:set_string("infotext", fields.title)
|
||||
end
|
||||
core.log("action", ("%s has written in a book (title: \"%s\"): \"%s\" at location %s"):format(
|
||||
player:get_player_name(), fields.title, fields.text, core.pos_to_string(pos)))
|
||||
minetest.log("action", ("%s has written in a book (title: \"%s\"): \"%s\" at location %s"):format(
|
||||
player:get_player_name(), fields.title, fields.text, minetest.pos_to_string(pos)))
|
||||
|
||||
player_current_book[player_name] = nil
|
||||
return true
|
||||
@@ -204,5 +204,5 @@ end)
|
||||
|
||||
-- aliases
|
||||
|
||||
core.register_alias("homedecor:book", "homedecor:book_grey")
|
||||
core.register_alias("homedecor:book_open", "homedecor:book_open_grey")
|
||||
minetest.register_alias("homedecor:book", "homedecor:book_grey")
|
||||
minetest.register_alias("homedecor:book_open", "homedecor:book_open_grey")
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
-- Nodes that would affect the local temperature e.g. fans, heater, A/C
|
||||
|
||||
local S = core.get_translator("homedecor_climate_control")
|
||||
local S = minetest.get_translator("homedecor_climate_control")
|
||||
|
||||
homedecor.register("air_conditioner", {
|
||||
description = S("Air Conditioner"),
|
||||
mesh = "homedecor_ac.obj",
|
||||
tiles = {
|
||||
"homedecor_ac.png",
|
||||
homedecor.textures.glass.pane
|
||||
homedecor.textures.glass
|
||||
},
|
||||
groups = { snappy = 3, dig_stone = 3 },
|
||||
use_texture_alpha = "clip",
|
||||
@@ -35,24 +35,22 @@ homedecor.register("air_conditioner", {
|
||||
|
||||
-- fans
|
||||
|
||||
core.register_entity(":homedecor:mesh_desk_fan", {
|
||||
initial_properties = {
|
||||
collisionbox = homedecor.nodebox.null,
|
||||
visual = "mesh",
|
||||
mesh = "homedecor_desk_fan.b3d",
|
||||
textures = {"homedecor_desk_fan_uv.png"},
|
||||
visual_size = {x=10, y=10},
|
||||
}
|
||||
minetest.register_entity(":homedecor:mesh_desk_fan", {
|
||||
collisionbox = homedecor.nodebox.null,
|
||||
visual = "mesh",
|
||||
mesh = "homedecor_desk_fan.b3d",
|
||||
textures = {"homedecor_desk_fan_uv.png"},
|
||||
visual_size = {x=10, y=10},
|
||||
})
|
||||
|
||||
local add_mesh_desk_fan_entity = function(pos)
|
||||
local param2 = core.get_node(pos).param2
|
||||
local entity = core.add_entity(pos, "homedecor:mesh_desk_fan")
|
||||
local param2 = minetest.get_node(pos).param2
|
||||
local entity = minetest.add_entity(pos, "homedecor:mesh_desk_fan")
|
||||
if param2 == 0 then
|
||||
entity:set_yaw(3.142) -- 180 degrees
|
||||
elseif core.get_node(pos).param2 == 1 then
|
||||
elseif minetest.get_node(pos).param2 == 1 then
|
||||
entity:set_yaw(3.142/2) -- 90 degrees
|
||||
elseif core.get_node(pos).param2 == 3 then
|
||||
elseif minetest.get_node(pos).param2 == 3 then
|
||||
entity:set_yaw((-3.142/2)) -- 270 degrees
|
||||
else
|
||||
entity:set_yaw(0)
|
||||
@@ -73,15 +71,15 @@ homedecor.register("desk_fan", {
|
||||
inventory_image = "homedecor_desk_fan_inv.png",
|
||||
wield_image = "homedecor_desk_fan_inv.png",
|
||||
selection_box = { type = "regular" },
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_construct = function(pos)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("active", "no")
|
||||
add_mesh_desk_fan_entity(pos)
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local meta = core.get_meta(pos)
|
||||
local entities = core.get_objects_inside_radius(pos, 0.1)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local entities = minetest.get_objects_inside_radius(pos, 0.1)
|
||||
local entity = entities[1] or add_mesh_desk_fan_entity(pos)
|
||||
if meta:get_string("active") == "no" then
|
||||
meta:set_string("active", "yes")
|
||||
@@ -92,7 +90,7 @@ homedecor.register("desk_fan", {
|
||||
end
|
||||
end,
|
||||
after_dig_node = function(pos)
|
||||
local entities = core.get_objects_inside_radius(pos, 0.1)
|
||||
local entities = minetest.get_objects_inside_radius(pos, 0.1)
|
||||
if entities[1] then entities[1]:remove() end
|
||||
end,
|
||||
crafts = {
|
||||
@@ -126,7 +124,7 @@ homedecor.register("ceiling_fan", {
|
||||
},
|
||||
use_texture_alpha = "clip",
|
||||
groups = { snappy = 3, dig_stone = 3 },
|
||||
light_source = core.LIGHT_MAX-1,
|
||||
light_source = minetest.LIGHT_MAX-1,
|
||||
_sound_def = {
|
||||
key = "node_sound_glass_defaults",
|
||||
},
|
||||
@@ -213,12 +211,12 @@ homedecor.register("radiator", {
|
||||
})
|
||||
|
||||
-- crafting
|
||||
core.register_craftitem(":homedecor:fan_blades", {
|
||||
minetest.register_craftitem(":homedecor:fan_blades", {
|
||||
description = S("Fan blades"),
|
||||
inventory_image = "homedecor_fan_blades.png"
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:fan_blades 2",
|
||||
recipe = {
|
||||
{ "", "basic_materials:plastic_sheet", "" },
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
local S = core.get_translator("homedecor_clocks")
|
||||
local S = minetest.get_translator("homedecor_clocks")
|
||||
|
||||
local wood = homedecor.textures.wood.apple.planks
|
||||
local wood
|
||||
if minetest.get_modpath("default") then
|
||||
wood = "default_wood.png"
|
||||
else
|
||||
|
||||
wood = "[combine:16x16^[noalpha^[colorize:#563d2d"
|
||||
end
|
||||
|
||||
local plastic_craft = {
|
||||
output = "homedecor:analog_clock_plastic 2",
|
||||
@@ -129,7 +135,7 @@ homedecor.register("grandfather_clock", {
|
||||
description = S("Grandfather Clock"),
|
||||
mesh = "homedecor_grandfather_clock.obj",
|
||||
tiles = {
|
||||
homedecor.textures.glass.pane,
|
||||
homedecor.textures.glass,
|
||||
"homedecor_grandfather_clock_face.png",
|
||||
homedecor.lux_wood,
|
||||
"homedecor_grandfather_clock_face_edge.png",
|
||||
@@ -144,7 +150,7 @@ homedecor.register("grandfather_clock", {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
expand = { top="placeholder" },
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
crafts = {
|
||||
{
|
||||
recipe = {
|
||||
@@ -158,5 +164,5 @@ homedecor.register("grandfather_clock", {
|
||||
|
||||
-- aliases
|
||||
|
||||
core.register_alias("homedecor:grandfather_clock_bottom", "homedecor:grandfather_clock")
|
||||
core.register_alias("homedecor:grandfather_clock_top", "air")
|
||||
minetest.register_alias("homedecor:grandfather_clock_bottom", "homedecor:grandfather_clock")
|
||||
minetest.register_alias("homedecor:grandfather_clock_top", "air")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local S = core.get_translator("homedecor_cobweb")
|
||||
local S = minetest.get_translator("homedecor_cobweb")
|
||||
homedecor_cobweb = {}
|
||||
|
||||
homedecor.register("cobweb_corner", {
|
||||
@@ -115,10 +115,10 @@ homedecor.register("cobweb_plantlike", {
|
||||
-- helper function to rotate the cobweb after it's placed
|
||||
|
||||
function homedecor_cobweb.rotate(pos)
|
||||
local wall_xm = core.get_node({ x=pos.x-1, y=pos.y, z=pos.z }).name
|
||||
local wall_xp = core.get_node({ x=pos.x+1, y=pos.y, z=pos.z }).name
|
||||
local wall_zm = core.get_node({ x=pos.x, y=pos.y, z=pos.z-1}).name
|
||||
local wall_zp = core.get_node({ x=pos.x, y=pos.y, z=pos.z+1}).name
|
||||
local wall_xm = minetest.get_node({ x=pos.x-1, y=pos.y, z=pos.z }).name
|
||||
local wall_xp = minetest.get_node({ x=pos.x+1, y=pos.y, z=pos.z }).name
|
||||
local wall_zm = minetest.get_node({ x=pos.x, y=pos.y, z=pos.z-1}).name
|
||||
local wall_zp = minetest.get_node({ x=pos.x, y=pos.y, z=pos.z+1}).name
|
||||
|
||||
local iswall_xm = (wall_xm ~= "air" and not string.find(wall_xm, "homedecor:cobweb"))
|
||||
local iswall_xp = (wall_xp ~= "air" and not string.find(wall_xp, "homedecor:cobweb"))
|
||||
@@ -129,43 +129,43 @@ function homedecor_cobweb.rotate(pos)
|
||||
|
||||
if (iswall_xm and iswall_zp and not iswall_xp and not iswall_zm)
|
||||
or (iswall_xp and iswall_zm and not iswall_xm and not iswall_zp) then
|
||||
core.set_node(pos, {name = "homedecor:cobweb_corner", param2 = 1})
|
||||
minetest.set_node(pos, {name = "homedecor:cobweb_corner", param2 = 1})
|
||||
|
||||
-- only xm+zm, or only xp+zp means on-ceiling torchlike
|
||||
|
||||
elseif (iswall_xm and iswall_zm and not iswall_xp and not iswall_zp)
|
||||
or (iswall_xp and iswall_zp and not iswall_xm and not iswall_zm) then
|
||||
core.set_node(pos, {name = "homedecor:cobweb_corner", param2 = 0})
|
||||
minetest.set_node(pos, {name = "homedecor:cobweb_corner", param2 = 0})
|
||||
|
||||
-- only xm+xp means nodebox (not rotated, 0 degrees)
|
||||
|
||||
elseif iswall_xm and iswall_xp and not iswall_zm and not iswall_zp then
|
||||
core.set_node(pos, {name = "homedecor:cobweb_centered", param2 = 0})
|
||||
minetest.set_node(pos, {name = "homedecor:cobweb_centered", param2 = 0})
|
||||
|
||||
-- only zm+zp means nodebox rotated to 90 degrees
|
||||
|
||||
elseif iswall_zm and iswall_zp and not iswall_xm and not iswall_xp then
|
||||
core.set_node(pos, {name = "homedecor:cobweb_centered", param2 = 1})
|
||||
minetest.set_node(pos, {name = "homedecor:cobweb_centered", param2 = 1})
|
||||
|
||||
-- ok, there aren't any simple two-wall corners or opposing walls.
|
||||
-- Are there any standalone walls?
|
||||
|
||||
elseif iswall_xm and not iswall_xp and not iswall_zm and not iswall_zp then
|
||||
core.set_node(pos, {name = "homedecor:cobweb_flat", param2 = 3})
|
||||
minetest.set_node(pos, {name = "homedecor:cobweb_flat", param2 = 3})
|
||||
|
||||
elseif iswall_xp and not iswall_xm and not iswall_zm and not iswall_zp then
|
||||
core.set_node(pos, {name = "homedecor:cobweb_flat", param2 = 1})
|
||||
minetest.set_node(pos, {name = "homedecor:cobweb_flat", param2 = 1})
|
||||
|
||||
elseif iswall_zm and not iswall_xm and not iswall_xp and not iswall_zp then
|
||||
core.set_node(pos, {name = "homedecor:cobweb_flat", param2 = 2})
|
||||
minetest.set_node(pos, {name = "homedecor:cobweb_flat", param2 = 2})
|
||||
|
||||
elseif iswall_zp and not iswall_xm and not iswall_xp and not iswall_zm then
|
||||
core.set_node(pos, {name = "homedecor:cobweb_flat", param2 = 0})
|
||||
minetest.set_node(pos, {name = "homedecor:cobweb_flat", param2 = 0})
|
||||
|
||||
-- if all else fails, place the plantlike version as a fallback.
|
||||
|
||||
else
|
||||
core.set_node(pos, {name = "homedecor:cobweb_plantlike", param2 = 0})
|
||||
minetest.set_node(pos, {name = "homedecor:cobweb_plantlike", param2 = 0})
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
-- crafts for common items that are used by more than one home decor component
|
||||
|
||||
local S = core.get_translator("homedecor_common")
|
||||
local S = minetest.get_translator("homedecor_common")
|
||||
|
||||
-- items
|
||||
|
||||
core.register_craftitem(":homedecor:roof_tile_terracotta", {
|
||||
minetest.register_craftitem(":homedecor:roof_tile_terracotta", {
|
||||
description = S("Terracotta Roof Tile"),
|
||||
inventory_image = "homedecor_roof_tile_terracotta.png",
|
||||
})
|
||||
|
||||
core.register_craftitem(":homedecor:drawer_small", {
|
||||
minetest.register_craftitem(":homedecor:drawer_small", {
|
||||
description = S("Small Wooden Drawer"),
|
||||
inventory_image = "homedecor_drawer_small.png",
|
||||
})
|
||||
|
||||
-- cooking/fuel
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "homedecor:roof_tile_terracotta",
|
||||
recipe = "basic_materials:terracotta_base",
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:shingles_wood",
|
||||
burntime = 30,
|
||||
@@ -31,7 +31,7 @@ core.register_craft({
|
||||
|
||||
-- crafing
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:shingles_terracotta",
|
||||
recipe = {
|
||||
{ "homedecor:roof_tile_terracotta", "homedecor:roof_tile_terracotta"},
|
||||
@@ -39,14 +39,14 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:roof_tile_terracotta 8",
|
||||
recipe = {
|
||||
{ "homedecor:shingles_terracotta", "homedecor:shingles_terracotta" }
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:shingles_wood 12",
|
||||
recipe = {
|
||||
{ "group:stick", "group:wood"},
|
||||
@@ -54,7 +54,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:shingles_wood 12",
|
||||
recipe = {
|
||||
{ "group:wood", "group:stick"},
|
||||
@@ -62,7 +62,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:shingles_asphalt 6",
|
||||
recipe = {
|
||||
{ "building_blocks:gravel_spread", "dye:black", "building_blocks:gravel_spread" },
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local S = core.get_translator("homedecor_common")
|
||||
local S = minetest.get_translator("homedecor_common")
|
||||
|
||||
-- vectors to place one node next to or behind another
|
||||
|
||||
@@ -53,19 +53,19 @@ homedecor.wall_fdir_to_fwd = {
|
||||
}
|
||||
|
||||
local placeholder_node = "air"
|
||||
core.register_alias("homedecor:expansion_placeholder", "air")
|
||||
minetest.register_alias("homedecor:expansion_placeholder", "air")
|
||||
|
||||
--- select which node was pointed at based on it being known, not ignored, buildable_to
|
||||
-- returns nil if no node could be selected
|
||||
local function select_node(pointed_thing)
|
||||
local pos = pointed_thing.under
|
||||
local node = core.get_node_or_nil(pos)
|
||||
local def = node and core.registered_nodes[node.name]
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
local def = node and minetest.registered_nodes[node.name]
|
||||
|
||||
if not def or not def.buildable_to then
|
||||
pos = pointed_thing.above
|
||||
node = core.get_node_or_nil(pos)
|
||||
def = node and core.registered_nodes[node.name]
|
||||
node = minetest.get_node_or_nil(pos)
|
||||
def = node and minetest.registered_nodes[node.name]
|
||||
end
|
||||
return def and pos, def
|
||||
end
|
||||
@@ -73,9 +73,9 @@ end
|
||||
--- check if all nodes can and may be build to
|
||||
local function is_buildable_to(placer_name, ...)
|
||||
for _, pos in ipairs({...}) do
|
||||
local node = core.get_node_or_nil(pos)
|
||||
local def = node and core.registered_nodes[node.name]
|
||||
if not (def and def.buildable_to) or core.is_protected(pos, placer_name) then
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
local def = node and minetest.registered_nodes[node.name]
|
||||
if not (def and def.buildable_to) or minetest.is_protected(pos, placer_name) then
|
||||
return false
|
||||
end
|
||||
end
|
||||
@@ -86,8 +86,8 @@ end
|
||||
local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2, pointed_thing)
|
||||
local placer_name = placer:get_player_name() or ""
|
||||
if is_buildable_to(placer_name, pos, pos2) then
|
||||
local lfdir = fdir or core.dir_to_facedir(placer:get_look_dir())
|
||||
core.set_node(pos, { name = node1, param2 = lfdir })
|
||||
local lfdir = fdir or minetest.dir_to_facedir(placer:get_look_dir())
|
||||
minetest.set_node(pos, { name = node1, param2 = lfdir })
|
||||
node2 = node2 or "air" -- this can be used to clear buildable_to nodes even though we are using a multinode mesh
|
||||
-- do not assume by default, as we still might want to allow overlapping in some cases
|
||||
local has_facedir = node2 ~= "air"
|
||||
@@ -95,15 +95,15 @@ local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2, poin
|
||||
has_facedir = false
|
||||
node2 = placeholder_node
|
||||
end
|
||||
core.set_node(pos2, { name = node2, param2 = (has_facedir and lfdir) or nil })
|
||||
minetest.set_node(pos2, { name = node2, param2 = (has_facedir and lfdir) or nil })
|
||||
|
||||
-- call after_place_node of the placed node if available
|
||||
local ctrl_node_def = core.registered_nodes[node1]
|
||||
local ctrl_node_def = minetest.registered_nodes[node1]
|
||||
if ctrl_node_def and ctrl_node_def.after_place_node then
|
||||
ctrl_node_def.after_place_node(pos, placer, itemstack, pointed_thing)
|
||||
end
|
||||
|
||||
if not core.is_creative_enabled(placer_name) then
|
||||
if not minetest.is_creative_enabled(placer_name) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
end
|
||||
@@ -111,9 +111,9 @@ local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2, poin
|
||||
end
|
||||
|
||||
local function rightclick_pointed_thing(pos, placer, itemstack, pointed_thing)
|
||||
local node = core.get_node_or_nil(pos)
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
if not node then return false end
|
||||
local def = core.registered_nodes[node.name]
|
||||
local def = minetest.registered_nodes[node.name]
|
||||
if not def or not def.on_rightclick then return false end
|
||||
return def.on_rightclick(pos, node, placer, itemstack, pointed_thing) or itemstack
|
||||
end
|
||||
@@ -144,9 +144,9 @@ function homedecor.stack_wing(itemstack, placer, pointed_thing, node1, node2, no
|
||||
if not pos then return itemstack end
|
||||
|
||||
local forceright = placer:get_player_control()["sneak"]
|
||||
local fdir = core.dir_to_facedir(placer:get_look_dir())
|
||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||
|
||||
local is_right_wing = node1 == core.get_node(
|
||||
local is_right_wing = node1 == minetest.get_node(
|
||||
{
|
||||
x = pos.x + homedecor.fdir_to_left[fdir+1][1],
|
||||
y = pos.y,
|
||||
@@ -166,7 +166,7 @@ function homedecor.stack_sideways(itemstack, placer, pointed_thing, node1, node2
|
||||
local pos, def = select_node(pointed_thing)
|
||||
if not pos then return itemstack end
|
||||
|
||||
local fdir = core.dir_to_facedir(placer:get_look_dir())
|
||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||
local fdir_transform = dir and homedecor.fdir_to_right or homedecor.fdir_to_fwd
|
||||
|
||||
local pos2 = { x = pos.x + fdir_transform[fdir+1][1], y=pos.y, z = pos.z + fdir_transform[fdir+1][2] }
|
||||
@@ -176,7 +176,7 @@ end
|
||||
|
||||
function homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, trybunks)
|
||||
|
||||
local thisnode = core.get_node(pos)
|
||||
local thisnode = minetest.get_node(pos)
|
||||
local param2 = thisnode.param2
|
||||
local fdir = param2 % 8
|
||||
|
||||
@@ -184,46 +184,46 @@ function homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, trybunks
|
||||
local fzd = homedecor.wall_fdir_to_fwd[fdir+1][2]
|
||||
|
||||
local forwardpos = {x=pos.x+fxd, y=pos.y, z=pos.z+fzd}
|
||||
local forwardnode = core.get_node(forwardpos)
|
||||
local forwardnode = minetest.get_node(forwardpos)
|
||||
|
||||
local def = core.registered_nodes[forwardnode.name]
|
||||
local def = minetest.registered_nodes[forwardnode.name]
|
||||
local placer_name = placer:get_player_name()
|
||||
|
||||
if not (def and def.buildable_to) then
|
||||
core.chat_send_player( placer:get_player_name(),
|
||||
minetest.chat_send_player( placer:get_player_name(),
|
||||
S("Not enough room - the space for the headboard is occupied!"))
|
||||
core.set_node(pos, {name = "air"})
|
||||
minetest.set_node(pos, {name = "air"})
|
||||
return true
|
||||
end
|
||||
|
||||
if core.is_protected(forwardpos, placer_name) then
|
||||
core.chat_send_player( placer:get_player_name(),
|
||||
if minetest.is_protected(forwardpos, placer_name) then
|
||||
minetest.chat_send_player( placer:get_player_name(),
|
||||
S("Someone already owns the spot where the headboard goes."))
|
||||
return true
|
||||
end
|
||||
|
||||
core.set_node(forwardpos, {name = "air"})
|
||||
minetest.set_node(forwardpos, {name = "air"})
|
||||
|
||||
local lxd = homedecor.wall_fdir_to_left[fdir+1][1]
|
||||
local lzd = homedecor.wall_fdir_to_left[fdir+1][2]
|
||||
local leftpos = {x=pos.x+lxd, y=pos.y, z=pos.z+lzd}
|
||||
local leftnode = core.get_node(leftpos)
|
||||
local leftnode = minetest.get_node(leftpos)
|
||||
|
||||
local rxd = homedecor.wall_fdir_to_right[fdir+1][1]
|
||||
local rzd = homedecor.wall_fdir_to_right[fdir+1][2]
|
||||
local rightpos = {x=pos.x+rxd, y=pos.y, z=pos.z+rzd}
|
||||
local rightnode = core.get_node(rightpos)
|
||||
local rightnode = minetest.get_node(rightpos)
|
||||
|
||||
if leftnode.name == "homedecor:bed_regular" then
|
||||
local newname = string.gsub(thisnode.name, "_regular", "_kingsize")
|
||||
|
||||
core.set_node(pos, {name = "air"})
|
||||
core.swap_node(leftpos, { name = newname, param2 = param2})
|
||||
minetest.set_node(pos, {name = "air"})
|
||||
minetest.swap_node(leftpos, { name = newname, param2 = param2})
|
||||
elseif rightnode.name == "homedecor:bed_regular" then
|
||||
local newname = string.gsub(thisnode.name, "_regular", "_kingsize")
|
||||
|
||||
core.set_node(rightpos, {name = "air"})
|
||||
core.swap_node(pos, { name = newname, param2 = param2})
|
||||
minetest.set_node(rightpos, {name = "air"})
|
||||
minetest.swap_node(pos, { name = newname, param2 = param2})
|
||||
end
|
||||
|
||||
local toppos = {x=pos.x, y=pos.y+1.0, z=pos.z}
|
||||
@@ -234,18 +234,18 @@ function homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, trybunks
|
||||
-- local newparam2 = param2 % 8
|
||||
-- FIXME: is newparam2 a legacy unused variable from a8729575abfbd15cc622b413b71976c9157fbab4?
|
||||
-- or should this variable be used somewhere?
|
||||
core.swap_node(toppos, { name = thisnode.name, param2 = param2})
|
||||
core.swap_node(pos, { name = newname, param2 = param2})
|
||||
minetest.swap_node(toppos, { name = thisnode.name, param2 = param2})
|
||||
minetest.swap_node(pos, { name = newname, param2 = param2})
|
||||
itemstack:take_item()
|
||||
end
|
||||
end
|
||||
|
||||
function homedecor.unextend_bed(pos)
|
||||
local bottomnode = core.get_node({x=pos.x, y=pos.y-1.0, z=pos.z})
|
||||
local bottomnode = minetest.get_node({x=pos.x, y=pos.y-1.0, z=pos.z})
|
||||
local param2 = bottomnode.param2
|
||||
if bottomnode.name == "homedecor:bed_extended" then
|
||||
local newname = string.gsub(bottomnode.name, "_extended", "_regular")
|
||||
core.swap_node({x=pos.x, y=pos.y-1.0, z=pos.z}, { name = newname, param2 = param2})
|
||||
minetest.swap_node({x=pos.x, y=pos.y-1.0, z=pos.z}, { name = newname, param2 = param2})
|
||||
end
|
||||
end
|
||||
|
||||
@@ -256,23 +256,23 @@ function homedecor.place_banister(itemstack, placer, pointed_thing)
|
||||
local pos, _ = select_node(pointed_thing)
|
||||
if not pos then return itemstack end
|
||||
|
||||
local fdir = core.dir_to_facedir(placer:get_look_dir())
|
||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||
local meta = itemstack:get_meta()
|
||||
local pindex = meta:get_int("palette_index")
|
||||
|
||||
local abovepos = { x=pos.x, y=pos.y+1, z=pos.z }
|
||||
local abovenode = core.get_node(abovepos)
|
||||
local abovenode = minetest.get_node(abovepos)
|
||||
|
||||
local adef = core.registered_nodes[abovenode.name]
|
||||
local adef = minetest.registered_nodes[abovenode.name]
|
||||
local placer_name = placer:get_player_name()
|
||||
|
||||
if not (adef and adef.buildable_to) then
|
||||
core.chat_send_player(placer_name, S("Not enough room - the upper space is occupied!" ))
|
||||
minetest.chat_send_player(placer_name, S("Not enough room - the upper space is occupied!" ))
|
||||
return itemstack
|
||||
end
|
||||
|
||||
if core.is_protected(abovepos, placer_name) then
|
||||
core.chat_send_player(placer_name, S("Someone already owns that spot."))
|
||||
if minetest.is_protected(abovepos, placer_name) then
|
||||
minetest.chat_send_player(placer_name, S("Someone already owns that spot."))
|
||||
return itemstack
|
||||
end
|
||||
|
||||
@@ -296,18 +296,18 @@ function homedecor.place_banister(itemstack, placer, pointed_thing)
|
||||
local right_fwd_below_pos = { x=pos.x+rxd+fxd, y=pos.y-1, z=pos.z+rzd+fzd }
|
||||
local left_fwd_below_pos = { x=pos.x+lxd+fxd, y=pos.y-1, z=pos.z+lzd+fzd }
|
||||
|
||||
local below_node = core.get_node(below_pos)
|
||||
--local fwd_node = core.get_node(fwd_pos)
|
||||
local left_node = core.get_node(left_pos)
|
||||
local right_node = core.get_node(right_pos)
|
||||
local left_fwd_node = core.get_node(left_fwd_pos)
|
||||
local right_fwd_node = core.get_node(right_fwd_pos)
|
||||
local left_below_node = core.get_node({x=left_pos.x, y=left_pos.y-1, z=left_pos.z})
|
||||
local right_below_node = core.get_node({x=right_pos.x, y=right_pos.y-1, z=right_pos.z})
|
||||
--local right_fwd_above_node = core.get_node(right_fwd_above_pos)
|
||||
--local left_fwd_above_node = core.get_node(left_fwd_above_pos)
|
||||
local right_fwd_below_node = core.get_node(right_fwd_below_pos)
|
||||
local left_fwd_below_node = core.get_node(left_fwd_below_pos)
|
||||
local below_node = minetest.get_node(below_pos)
|
||||
--local fwd_node = minetest.get_node(fwd_pos)
|
||||
local left_node = minetest.get_node(left_pos)
|
||||
local right_node = minetest.get_node(right_pos)
|
||||
local left_fwd_node = minetest.get_node(left_fwd_pos)
|
||||
local right_fwd_node = minetest.get_node(right_fwd_pos)
|
||||
local left_below_node = minetest.get_node({x=left_pos.x, y=left_pos.y-1, z=left_pos.z})
|
||||
local right_below_node = minetest.get_node({x=right_pos.x, y=right_pos.y-1, z=right_pos.z})
|
||||
--local right_fwd_above_node = minetest.get_node(right_fwd_above_pos)
|
||||
--local left_fwd_above_node = minetest.get_node(left_fwd_above_pos)
|
||||
local right_fwd_below_node = minetest.get_node(right_fwd_below_pos)
|
||||
local left_fwd_below_node = minetest.get_node(left_fwd_below_pos)
|
||||
|
||||
local new_place_name = itemstack:get_name()
|
||||
|
||||
@@ -373,7 +373,7 @@ function homedecor.place_banister(itemstack, placer, pointed_thing)
|
||||
end
|
||||
end
|
||||
|
||||
core.set_node(pos, {name = new_place_name, param2 = fdir+pindex})
|
||||
minetest.set_node(pos, {name = new_place_name, param2 = fdir+pindex})
|
||||
itemstack:take_item()
|
||||
return itemstack
|
||||
end
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
-- This code supplies an oven/stove. Basically it's just a copy of the default furnace with different textures.
|
||||
|
||||
local S = core.get_translator("homedecor_common")
|
||||
local S = minetest.get_translator("homedecor_common")
|
||||
|
||||
local function swap_node(pos, name)
|
||||
local node = core.get_node(pos)
|
||||
local node = minetest.get_node(pos)
|
||||
if node.name == name then return end
|
||||
node.name = name
|
||||
core.swap_node(pos, node)
|
||||
minetest.swap_node(pos, node)
|
||||
end
|
||||
|
||||
local function make_formspec(furnacedef, percent)
|
||||
@@ -73,7 +73,7 @@ local function make_tiles(tiles, fmt, active)
|
||||
end
|
||||
|
||||
local furnace_can_dig = function(pos,player)
|
||||
local meta = core.get_meta(pos);
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("fuel")
|
||||
and inv:is_empty("dst")
|
||||
@@ -92,10 +92,10 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
local description = furnacedef.description or S("Furnace")
|
||||
|
||||
local furnace_allow_put = function(pos, listname, index, stack, player)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
if listname == "fuel" then
|
||||
if core.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then
|
||||
if minetest.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then
|
||||
if inv:is_empty("src") then
|
||||
meta:set_string("infotext", S("@1 (empty)", description))
|
||||
end
|
||||
@@ -110,11 +110,11 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
end
|
||||
end
|
||||
local furnace_allow_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local stack = inv:get_stack(from_list, from_index)
|
||||
if to_list == "fuel" then
|
||||
if core.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then
|
||||
if minetest.get_craft_result({method="fuel",width=1,items={stack}}).time ~= 0 then
|
||||
if inv:is_empty("src") then
|
||||
meta:set_string("infotext", S("@1 (empty)", description))
|
||||
end
|
||||
@@ -136,7 +136,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
--
|
||||
-- Initialize metadata
|
||||
--
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local fuel_time = meta:get_float("fuel_time") or 0
|
||||
local src_time = meta:get_float("src_time") or 0
|
||||
local fuel_totaltime = meta:get_float("fuel_totaltime") or 0
|
||||
@@ -164,7 +164,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
|
||||
-- Check if we have cookable content
|
||||
local aftercooked
|
||||
cooked, aftercooked = core.get_craft_result({method = "cooking", width = 1, items = srclist})
|
||||
cooked, aftercooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist})
|
||||
cookable = cooked.time ~= 0
|
||||
|
||||
local el = math.min(elapsed, fuel_totaltime - fuel_time)
|
||||
@@ -199,7 +199,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
if cookable then
|
||||
-- We need to get new fuel
|
||||
local afterfuel
|
||||
fuel, afterfuel = core.get_craft_result({method = "fuel", width = 1, items = fuellist})
|
||||
fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist})
|
||||
|
||||
if fuel.time == 0 then
|
||||
-- No valid fuel in fuel list
|
||||
@@ -207,7 +207,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
src_time = 0
|
||||
else
|
||||
-- prevent blocking of fuel inventory (for automatization mods)
|
||||
local is_fuel = core.get_craft_result({method = "fuel", width = 1, items = {afterfuel.items[1]:to_string()}})
|
||||
local is_fuel = minetest.get_craft_result({method = "fuel", width = 1, items = {afterfuel.items[1]:to_string()}})
|
||||
if is_fuel.time == 0 then
|
||||
table.insert(fuel.replacements, afterfuel.items[1])
|
||||
inv:set_stack("fuel", 1, "")
|
||||
@@ -221,8 +221,8 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
local leftover = inv:add_item("dst", replacements[1])
|
||||
if not leftover:is_empty() then
|
||||
local above = vector.new(pos.x, pos.y + 1, pos.z)
|
||||
local drop_pos = core.find_node_near(above, 1, {"air"}) or above
|
||||
core.item_drop(replacements[1], nil, drop_pos)
|
||||
local drop_pos = minetest.find_node_near(above, 1, {"air"}) or above
|
||||
minetest.item_drop(replacements[1], nil, drop_pos)
|
||||
end
|
||||
end
|
||||
update = true
|
||||
@@ -256,9 +256,9 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
|
||||
local result = false
|
||||
|
||||
local node = core.get_node(pos)
|
||||
local node = minetest.get_node(pos)
|
||||
local locked = node.name:find("_locked$") and "_locked" or ""
|
||||
local desc = core.registered_nodes[nname..locked].description
|
||||
local desc = minetest.registered_nodes[nname..locked].description
|
||||
|
||||
if fuel_totaltime ~= 0 then
|
||||
formspec = make_formspec(furnacedef, percent)
|
||||
@@ -270,7 +270,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
infotext = S("@1 (out of fuel)", desc)
|
||||
swap_node(pos, nname .. locked)
|
||||
-- stop timer on the inactive furnace
|
||||
core.get_node_timer(pos):stop()
|
||||
minetest.get_node_timer(pos):stop()
|
||||
meta:set_int("timer_elapsed", 0)
|
||||
end
|
||||
|
||||
@@ -284,7 +284,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
formspec = make_formspec(furnacedef, 0)
|
||||
swap_node(pos, nname .. locked)
|
||||
-- stop timer on the inactive furnace
|
||||
core.get_node_timer(pos):stop()
|
||||
minetest.get_node_timer(pos):stop()
|
||||
meta:set_int("timer_elapsed", 0)
|
||||
fuel_totaltime, fuel_time, src_time = 0, 0, 0
|
||||
end
|
||||
@@ -306,7 +306,7 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
end
|
||||
|
||||
local furnace_construct = function(pos)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("fuel", 1)
|
||||
inv:set_size("src", 1)
|
||||
@@ -330,15 +330,15 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
is_furnace = true,
|
||||
on_timer = furnace_node_timer,
|
||||
on_metadata_inventory_move = function(pos)
|
||||
core.get_node_timer(pos):start(1.0)
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos)
|
||||
-- start timer function, it will sort out whether furnace can burn or not.
|
||||
core.get_node_timer(pos):start(1.0)
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
end,
|
||||
on_metadata_inventory_take = function(pos)
|
||||
-- check whether the furnace is empty or not.
|
||||
core.get_node_timer(pos):start(1.0)
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
end
|
||||
}
|
||||
|
||||
@@ -360,15 +360,15 @@ function homedecor.register_furnace(name, furnacedef)
|
||||
is_furnace = true,
|
||||
on_timer = furnace_node_timer,
|
||||
on_metadata_inventory_move = function(pos)
|
||||
core.get_node_timer(pos):start(1.0)
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos)
|
||||
-- start timer function, it will sort out whether furnace can burn or not.
|
||||
core.get_node_timer(pos):start(1.0)
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
end,
|
||||
on_metadata_inventory_take = function(pos)
|
||||
-- check whether the furnace is empty or not.
|
||||
core.get_node_timer(pos):start(1.0)
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
end
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- Home Decor API/functions, and common textures and models
|
||||
-- by VanessaE
|
||||
|
||||
local modpath = core.get_modpath("homedecor_common")
|
||||
local modpath = minetest.get_modpath("homedecor_common")
|
||||
|
||||
homedecor = {}
|
||||
homedecor.modpath = modpath
|
||||
@@ -54,15 +54,17 @@ homedecor.color_dark_grey = 0xff606060
|
||||
homedecor.color_med_grey = 0xffa0a0a0
|
||||
|
||||
-- load different handler subsystems
|
||||
dofile(modpath.."/xcompat.lua")
|
||||
dofile(modpath.."/textures.lua")
|
||||
dofile(modpath.."/materials.lua")
|
||||
dofile(modpath.."/nodeboxes.lua")
|
||||
dofile(modpath.."/expansion.lua")
|
||||
dofile(modpath.."/furnaces.lua")
|
||||
dofile(modpath.."/inventory.lua")
|
||||
dofile(modpath.."/registration.lua")
|
||||
dofile(modpath.."/water_particles.lua")
|
||||
dofile(modpath.."/sit.lua")
|
||||
dofile(modpath.."/crafts.lua")
|
||||
|
||||
if core.settings:get_bool("log_mod") then
|
||||
core.log("action", "[HomeDecor API] Loaded!")
|
||||
if minetest.settings:get_bool("log_mods") then
|
||||
minetest.log("action", "[HomeDecor API] Loaded!")
|
||||
end
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
local S = core.get_translator("homedecor_common")
|
||||
local S = minetest.get_translator("homedecor_common")
|
||||
|
||||
local has_hopper = core.get_modpath("hopper")
|
||||
local has_hopper = minetest.get_modpath("hopper")
|
||||
local has_safe_hopper = has_hopper and
|
||||
-- mod from https://github.com/minetest-mods/hopper respects the owner
|
||||
(hopper.neighbors or
|
||||
@@ -8,11 +8,10 @@ local has_safe_hopper = has_hopper and
|
||||
(hopper.version and hopper.version >= "20220123"))
|
||||
|
||||
local default_can_dig = function(pos,player)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
return meta:get_inventory():is_empty("main")
|
||||
end
|
||||
|
||||
local default_can_interact_with_node = xcompat.functions.can_interact_with_node
|
||||
|
||||
local default_inventory_formspecs = {
|
||||
["4"]="size[8,6]"..
|
||||
@@ -82,7 +81,7 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
local on_construct = def.on_construct
|
||||
def.on_construct = function(pos)
|
||||
local size = inventory.size
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:get_inventory():set_size("main", size)
|
||||
meta:set_string("formspec", inventory.formspec or get_formspec_by_size(size))
|
||||
if on_construct then on_construct(pos) end
|
||||
@@ -92,15 +91,15 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
def.can_dig = def.can_dig or default_can_dig
|
||||
def.on_metadata_inventory_move = def.on_metadata_inventory_move or
|
||||
function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
core.log("action", player:get_player_name().." moves stuff in "..name.." at "..core.pos_to_string(pos))
|
||||
minetest.log("action", player:get_player_name().." moves stuff in "..name.." at "..minetest.pos_to_string(pos))
|
||||
end
|
||||
def.on_metadata_inventory_put = def.on_metadata_inventory_put or function(pos, listname, index, stack, player)
|
||||
core.log("action", player:get_player_name().." moves "..stack:get_name()
|
||||
.." to "..name.." at "..core.pos_to_string(pos))
|
||||
minetest.log("action", player:get_player_name().." moves "..stack:get_name()
|
||||
.." to "..name.." at "..minetest.pos_to_string(pos))
|
||||
end
|
||||
def.on_metadata_inventory_take = def.on_metadata_inventory_take or function(pos, listname, index, stack, player)
|
||||
core.log("action", player:get_player_name().." takes "..stack:get_name()
|
||||
.." from "..name.." at "..core.pos_to_string(pos))
|
||||
minetest.log("action", player:get_player_name().." takes "..stack:get_name()
|
||||
.." from "..name.." at "..minetest.pos_to_string(pos))
|
||||
end
|
||||
|
||||
local locked = inventory.locked
|
||||
@@ -124,7 +123,7 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
if locked then
|
||||
local after_place_node = def.after_place_node
|
||||
def.after_place_node = function(pos, placer)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local owner = placer:get_player_name() or ""
|
||||
|
||||
meta:set_string("owner", owner)
|
||||
@@ -134,9 +133,9 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
|
||||
local allow_move = def.allow_metadata_inventory_move
|
||||
def.allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
if not default_can_interact_with_node(player, pos) then
|
||||
core.log("action", player:get_player_name().." tried to access a "..name.." belonging to "
|
||||
..core.get_meta(pos):get_string("owner").." at "..core.pos_to_string(pos))
|
||||
if not default.can_interact_with_node(player, pos) then
|
||||
minetest.log("action", player:get_player_name().." tried to access a "..name.." belonging to "
|
||||
..minetest.get_meta(pos):get_string("owner").." at "..minetest.pos_to_string(pos))
|
||||
return 0
|
||||
end
|
||||
return allow_move and allow_move(pos, from_list, from_index, to_list, to_index, count, player) or
|
||||
@@ -145,9 +144,9 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
|
||||
local allow_put = def.allow_metadata_inventory_put
|
||||
def.allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
if not default_can_interact_with_node(player, pos) then
|
||||
core.log("action", player:get_player_name().." tried to access a "..name.." belonging to"
|
||||
..core.get_meta(pos):get_string("owner").." at "..core.pos_to_string(pos))
|
||||
if not default.can_interact_with_node(player, pos) then
|
||||
minetest.log("action", player:get_player_name().." tried to access a "..name.." belonging to"
|
||||
..minetest.get_meta(pos):get_string("owner").." at "..minetest.pos_to_string(pos))
|
||||
return 0
|
||||
end
|
||||
return allow_put and allow_put(pos, listname, index, stack, player) or
|
||||
@@ -156,9 +155,9 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
|
||||
local allow_take = def.allow_metadata_inventory_take
|
||||
def.allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||
if not default_can_interact_with_node(player, pos) then
|
||||
core.log("action", player:get_player_name().." tried to access a "..name.." belonging to"
|
||||
..core.get_meta(pos):get_string("owner").." at ".. core.pos_to_string(pos))
|
||||
if not default.can_interact_with_node(player, pos) then
|
||||
minetest.log("action", player:get_player_name().." tried to access a "..name.." belonging to"
|
||||
..minetest.get_meta(pos):get_string("owner").." at ".. minetest.pos_to_string(pos))
|
||||
return 0
|
||||
end
|
||||
return allow_take and allow_take(pos, listname, index, stack, player) or
|
||||
@@ -167,11 +166,11 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
|
||||
local can_dig = def.can_dig or default_can_dig
|
||||
def.can_dig = function(pos, player)
|
||||
return default_can_interact_with_node(player, pos) and (can_dig and can_dig(pos, player) == true)
|
||||
return default.can_interact_with_node(player, pos) and (can_dig and can_dig(pos, player) == true)
|
||||
end
|
||||
|
||||
def.on_key_use = function(pos, player)
|
||||
local secret = core.get_meta(pos):get_string("key_lock_secret")
|
||||
local secret = minetest.get_meta(pos):get_string("key_lock_secret")
|
||||
local itemstack = player:get_wielded_item()
|
||||
local key_meta = itemstack:get_meta()
|
||||
|
||||
@@ -179,21 +178,21 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
return
|
||||
end
|
||||
|
||||
core.show_formspec(
|
||||
minetest.show_formspec(
|
||||
player:get_player_name(),
|
||||
name.."_locked",
|
||||
core.get_meta(pos):get_string("formspec")
|
||||
minetest.get_meta(pos):get_string("formspec")
|
||||
)
|
||||
end
|
||||
|
||||
def.on_skeleton_key_use = function(pos, player, newsecret)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local owner = meta:get_string("owner")
|
||||
local playername = player:get_player_name()
|
||||
|
||||
-- verify placer is owner
|
||||
if owner ~= playername then
|
||||
core.record_protection_violation(pos, playername)
|
||||
minetest.record_protection_violation(pos, playername)
|
||||
return nil
|
||||
end
|
||||
|
||||
@@ -218,7 +217,7 @@ function homedecor.handle_inventory(name, def, original_def)
|
||||
|
||||
local locked_name = name .. "_locked"
|
||||
homedecor.register(locked_name, locked_def)
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:" .. locked_name,
|
||||
recipe = { "homedecor:" .. name, "basic_materials:padlock" }
|
||||
|
||||
213
homedecor_common/materials.lua
Normal file
@@ -0,0 +1,213 @@
|
||||
homedecor.materials = {
|
||||
dirt = "default:dirt",
|
||||
sand = "default:sand",
|
||||
gravel = "default:gravel",
|
||||
copper_ingot = "default:copper_ingot",
|
||||
steel_ingot = "default:steel_ingot",
|
||||
gold_ingot = "default:gold_ingot",
|
||||
tin_ingot = "default:tin_ingot",
|
||||
mese_crystal_fragment = "default:mese_crystal_fragment",
|
||||
torch = "default:torch",
|
||||
diamond = "default:diamond",
|
||||
clay_lump = "default:clay_lump",
|
||||
water_bucket = "bucket:bucket_water",
|
||||
empty_bucket = "bucket:bucket_empty",
|
||||
dye_dark_grey = "dye:dark_grey",
|
||||
dye_black = "dye:black",
|
||||
dye_white = "dye:white",
|
||||
dye_green = "dye:green",
|
||||
dye_red = "dye:red",
|
||||
dye_yellow = "dye:yellow",
|
||||
dye_brown = "dye:brown",
|
||||
dye_blue = "dye:blue",
|
||||
dye_violet = "dye:violet",
|
||||
dye_grey = "dye:grey",
|
||||
dye_dark_green = "dye:dark_green",
|
||||
dye_orange = "dye:orange",
|
||||
dye_pink = "dye:pink",
|
||||
silicon = "mesecons_materials:silicon",
|
||||
string = "farming:string",
|
||||
paper = "default:paper",
|
||||
book = "default:book",
|
||||
iron_lump = "default:iron_lump",
|
||||
wool_grey = "wool:grey",
|
||||
wool_green = "wool:green",
|
||||
wool_dark_green = "wool:dark_green",
|
||||
wool_brown = "wool:brown",
|
||||
wool_black = "wool:black",
|
||||
wool_white = "wool:white",
|
||||
slab_stone = "stairs:slab_stone",
|
||||
slab_wood = "stairs:slab_wood",
|
||||
glass_block = "default:glass",
|
||||
glass_bottle = "vessels:glass_bottle",
|
||||
coal_lump = "default:coal_lump",
|
||||
stone = "default:stone",
|
||||
cobble = "default:cobble",
|
||||
brick = "default:brick",
|
||||
obsidian_glass = "default:obsidian_glass",
|
||||
}
|
||||
|
||||
if minetest.get_modpath("moreores") then
|
||||
homedecor.materials.silver_ingot = "moreores:silver_ingot"
|
||||
end
|
||||
|
||||
if minetest.get_modpath("mcl_core") then
|
||||
homedecor.materials = {
|
||||
dirt = "mcl_core:dirt",
|
||||
sand = "mcl_core:sand",
|
||||
gravel = "mcl_core:gravel",
|
||||
copper_ingot = "mcl_copper:copper_ingot",
|
||||
steel_ingot = "mcl_core:iron_ingot",
|
||||
gold_ingot = "mcl_core:gold_ingot",
|
||||
tin_ingot = "mcl_core:iron_ingot",
|
||||
mese_crystal_fragment = "mcl_core:iron_ingot",
|
||||
torch = "mcl_torches:torch",
|
||||
diamond = "mcl_core:diamond",
|
||||
clay_lump = "default:clay_lump",
|
||||
water_bucket = "mcl_buckets:bucket:bucket_water",
|
||||
empty_bucket = "mcl_buckets:bucket_empty",
|
||||
dye_dark_grey = "mcl_dyes:dark_grey",
|
||||
dye_black = "mcl_dyes:black",
|
||||
dye_white = "mcl_dyes:white",
|
||||
dye_green = "mcl_dyes:green",
|
||||
dye_red = "mcl_dyes:red",
|
||||
dye_yellow = "mcl_dyes:yellow",
|
||||
dye_brown = "mcl_dyes:brown",
|
||||
dye_blue = "mcl_dyes:blue",
|
||||
dye_violet = "mcl_dyes:violet",
|
||||
dye_grey = "mcl_dyes:grey",
|
||||
dye_dark_green = "mcl_dyes:dark_green",
|
||||
dye_orange = "mcl_dyes:orange",
|
||||
dye_pink = "mcl_dyes:pink",
|
||||
silicon = "mcl_core:iron_ingot",
|
||||
string = "mcl_mobitems:string",
|
||||
paper = "mcl_core:paper",
|
||||
book = "mcl_core:book",
|
||||
iron_lump = "mcl_core:stone_with_iron",
|
||||
wool_grey = "mcl_wool:grey",
|
||||
wool_green = "mcl_wool:green",
|
||||
wool_dark_green = "mcl_wool:dark_green",
|
||||
wool_brown = "mcl_wool:brown",
|
||||
wool_black = "mcl_wool:black",
|
||||
wool_white = "mcl_wool:white",
|
||||
slab_stone = "mcl_stairs:slab_stone",
|
||||
slab_wood = "mcl_stairs:slab_wood",
|
||||
glass_block = "mcl_core:glass",
|
||||
glass_bottle = "mcl_core:glass_bottle",
|
||||
coal_lump = "mcl_core:coal",
|
||||
stone = "mcl_core:stone",
|
||||
cobble = "mcl_core:cobble",
|
||||
brick = "mcl_core:brick",
|
||||
}
|
||||
elseif minetest.get_modpath("fl_ores") and minetest.get_modpath("fl_stone") then
|
||||
homedecor.materials = {
|
||||
dirt = "fl_topsoil:dirt",
|
||||
sand = "fl_stone:sand",
|
||||
gravel = "fl_topsoil:gravel",
|
||||
steel_ingot = "fl_ores:iron_ingot",
|
||||
gold_ingot = "fl_ores:gold_ingot",
|
||||
mese_crystal_fragment = "fl_ores:iron_ingot",
|
||||
torch = "fl_light_sources:torch",
|
||||
diamond = "fl_ores:diamond",
|
||||
clay_lump = "fl_bricks:clay_lump",
|
||||
water_bucket = "fl_bucket:bucket_water",
|
||||
empty_bucket = "fl_bucket:bucket",
|
||||
dye_dark_grey = "fl_dyes:dark_grey_dye",
|
||||
dye_black = "fl_dyes:black_dye",
|
||||
dye_white = "fl_dyes:white_dye",
|
||||
dye_green = "fl_dyes:green_dye",
|
||||
dye_red = "fl_dyes:red_dye",
|
||||
dye_yellow = "fl_dyes:yellow_dye",
|
||||
dye_brown = "fl_dyes:brown_dye",
|
||||
dye_blue = "fl_dyes:blue_dye",
|
||||
dye_violet = "fl_dyes:violet_dye",
|
||||
dye_grey = "fl_dyes:grey_dye",
|
||||
dye_dark_green = "fl_dyes:dark_green_dye",
|
||||
dye_orange = "fl_dyes:orange_dye",
|
||||
dye_pink = "fl_dyes:pink_dye",
|
||||
copper_ingot = "fl_ores:copper_ingot",
|
||||
tin_ingot = "fl_ores:tin_ingot",
|
||||
silver_ingot = "fl_ores:iron_ingot",
|
||||
silicon = "mesecons_materials:silicon",
|
||||
string = "fl_plantlife:oxeye_daisy",
|
||||
paper = "basic_materials:plastic_sheet",
|
||||
iron_lump = "fl_ores:iron_ore",
|
||||
wool_grey = "",
|
||||
wool_green = "",
|
||||
wool_dark_green = "",
|
||||
wool_brown = "",
|
||||
wool_black = "",
|
||||
wool_white = "",
|
||||
slab_stone = "fl_stone:stone_slab",
|
||||
slab_wood = "fl_trees:apple_plank_slab",
|
||||
glass_block = "fl_glass:framed_glass",
|
||||
glass_bottle = "fl_bottles:bottle",
|
||||
coal_lump = "fl_ores:coal_ore",
|
||||
stone = "fl_stone:stone",
|
||||
cobble = "fl_stone:stone_rubble",
|
||||
brick = "",
|
||||
}
|
||||
elseif minetest.get_modpath("hades_core") then
|
||||
homedecor.materials = {
|
||||
sand = "hades_core:fertile_sand",
|
||||
gravel = "hades_core:gravel",
|
||||
copper_ingot = "hades_core:copper_ingot",
|
||||
steel_ingot = "hades_core:steel_ingot",
|
||||
gold_ingot = "hades_core:gold_ingot",
|
||||
tin_ingot = "hades_core:tin_ingot",
|
||||
silver_ingot = "--unknown--",
|
||||
mese_crystal_fragment = "hades_core:mese_crystal_fragment",
|
||||
torch = "hades_torches:torch",
|
||||
diamond = "hades_core:diamond",
|
||||
clay_lump = "hades_core:clay_lump",
|
||||
clay_brick = "hades_core:clay_brick",
|
||||
|
||||
--[[
|
||||
Since hades doesnt have buckets or water for the user,
|
||||
using dirt from near water to pull the water out
|
||||
]]
|
||||
water_bucket = "hades_core:dirt",
|
||||
empty_bucket = "hades_core:fertile_sand",
|
||||
dye_dark_grey = "dye:dark_grey",
|
||||
dye_black = "dye:black",
|
||||
dye_white = "dye:white",
|
||||
dye_green = "dye:green",
|
||||
dye_red = "dye:red",
|
||||
dye_yellow = "dye:yellow",
|
||||
dye_brown = "dye:brown",
|
||||
dye_blue = "dye:blue",
|
||||
dye_violet = "dye:violet",
|
||||
dye_grey = "dye:grey",
|
||||
dye_dark_green = "dye:dark_green",
|
||||
dye_orange = "dye:orange",
|
||||
dye_pink = "dye:pink",
|
||||
silicon = "hades_materials:silicon",
|
||||
string = "hades_farming:string",
|
||||
paper = "hades_core:paper",
|
||||
book = "hades_core:book",
|
||||
iron_lump = "hades_core:iron_lump",
|
||||
wool_grey = "wool:grey",
|
||||
wool_green = "wool:green",
|
||||
wool_dark_green = "wool:dark_green",
|
||||
wool_brown = "wool:brown",
|
||||
wool_black = "wool:black",
|
||||
wool_white = "wool:white",
|
||||
slab_stone = "stairs:slab_stone",
|
||||
slab_wood = "stairs:slab_wood",
|
||||
glass_block = "hades_core:glass",
|
||||
glass_bottle = "vessels:glass_bottle",
|
||||
obsidian_glass = "hades_core:obsidian_glass",
|
||||
coal_lump = "hades_core:coal_lump",
|
||||
stone = "hades_core:stone",
|
||||
cobble = "hades_core:cobble",
|
||||
brick = "hades_core:brick"
|
||||
}
|
||||
|
||||
if minetest.get_modpath("hades_bucket") then
|
||||
homedecor.materials["water_bucket"] = "hades_bucket:bucket_water"
|
||||
homedecor.materials["empty_bucket"] = "hades_bucket:bucket_empty"
|
||||
end
|
||||
if minetest.get_modpath("hades_extraores") then
|
||||
homedecor.materials["silver_ingot"] = "hades_extraores:silver_ingot"
|
||||
end
|
||||
end
|
||||
@@ -1,4 +1,4 @@
|
||||
name = homedecor_common
|
||||
description = Homedecor mod: common
|
||||
depends = basic_materials, unifieddyes, xcompat
|
||||
depends = basic_materials, unifieddyes
|
||||
optional_depends = screwdriver, hopper, default, creative, sound_api, fl_stone, fl_mapgen, i3, mcl_core, mcl_mapgen_core, void_essential, mapgen
|
||||
|
||||
@@ -2,7 +2,7 @@ homedecor = homedecor or {}
|
||||
|
||||
local placeholder_node = "homedecor:expansion_placeholder"
|
||||
|
||||
--wrapper around core.register_node that sets sane defaults and interprets some specialized settings
|
||||
--wrapper around minetest.register_node that sets sane defaults and interprets some specialized settings
|
||||
function homedecor.register(name, original_def)
|
||||
local def = table.copy(original_def)
|
||||
|
||||
@@ -19,8 +19,6 @@ function homedecor.register(name, original_def)
|
||||
def._mcl_hardness=1.6
|
||||
end
|
||||
|
||||
def.is_ground_content = def.is_ground_content == true
|
||||
|
||||
def.drawtype = def.drawtype
|
||||
or (def.mesh and "mesh")
|
||||
or (def.node_box and "nodebox")
|
||||
@@ -45,7 +43,7 @@ function homedecor.register(name, original_def)
|
||||
if infotext then
|
||||
local on_construct = def.on_construct
|
||||
def.on_construct = function(pos)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("infotext", infotext)
|
||||
if on_construct then on_construct(pos) end
|
||||
end
|
||||
@@ -60,7 +58,7 @@ function homedecor.register(name, original_def)
|
||||
-- dissallow rotating only half the expanded node by default
|
||||
-- unless we know better
|
||||
def.on_rotate = def.on_rotate or (
|
||||
core.get_modpath("screwdriver") and (
|
||||
minetest.get_modpath("screwdriver") and (
|
||||
(def.mesh and expand.top and screwdriver.rotate_simple) or
|
||||
screwdriver.disallow
|
||||
)
|
||||
@@ -78,9 +76,9 @@ function homedecor.register(name, original_def)
|
||||
def.after_dig_node = def.after_dig_node or function(pos, oldnode, oldmetadata, digger)
|
||||
if expand.top and expand.forward ~= "air" then
|
||||
local top_pos = { x=pos.x, y=pos.y+1, z=pos.z }
|
||||
local node = core.get_node(top_pos).name
|
||||
local node = minetest.get_node(top_pos).name
|
||||
if node == expand.top or node == placeholder_node then
|
||||
core.remove_node(top_pos)
|
||||
minetest.remove_node(top_pos)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -93,16 +91,16 @@ function homedecor.register(name, original_def)
|
||||
y = pos.y,
|
||||
z = pos.z + homedecor.fdir_to_right[fdir+1][2]
|
||||
}
|
||||
local node = core.get_node(right_pos).name
|
||||
local node = minetest.get_node(right_pos).name
|
||||
if node == expand.right or node == placeholder_node then
|
||||
core.remove_node(right_pos)
|
||||
minetest.remove_node(right_pos)
|
||||
end
|
||||
end
|
||||
if expand.forward and expand.forward ~= "air" then
|
||||
local forward_pos = { x=pos.x+homedecor.fdir_to_fwd[fdir+1][1], y=pos.y, z=pos.z+homedecor.fdir_to_fwd[fdir+1][2] }
|
||||
local node = core.get_node(forward_pos).name
|
||||
local node = minetest.get_node(forward_pos).name
|
||||
if node == expand.forward or node == placeholder_node then
|
||||
core.remove_node(forward_pos)
|
||||
minetest.remove_node(forward_pos)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -116,7 +114,7 @@ function homedecor.register(name, original_def)
|
||||
def.crafts = nil
|
||||
|
||||
-- register the actual minetest node
|
||||
core.register_node(":homedecor:" .. name, def)
|
||||
minetest.register_node(":homedecor:" .. name, def)
|
||||
|
||||
for _, cdef in pairs(crafts) do
|
||||
if cdef.recipe then
|
||||
@@ -137,6 +135,6 @@ function homedecor.register(name, original_def)
|
||||
cdef.output = "homedecor:" .. name
|
||||
end
|
||||
|
||||
core.register_craft(cdef)
|
||||
minetest.register_craft(cdef)
|
||||
end
|
||||
end
|
||||
|
||||
34
homedecor_common/sit.lua
Normal file
@@ -0,0 +1,34 @@
|
||||
function homedecor.sit(pos, node, clicker)
|
||||
return -- delete it when the engine is stabler for the player's physics
|
||||
--[[
|
||||
local meta = minetest.get_meta(pos)
|
||||
local param2 = node.param2
|
||||
local name = clicker:get_player_name()
|
||||
|
||||
if name == meta:get_string("is_sit") then
|
||||
meta:set_string("is_sit", "")
|
||||
pos.y = pos.y-0.5
|
||||
clicker:setpos(pos)
|
||||
clicker:set_eye_offset({x=0,y=0,z=0}, {x=0,y=0,z=0})
|
||||
clicker:set_physics_override(1, 1, 1)
|
||||
default.player_attached[name] = false
|
||||
default.player_set_animation(clicker, "stand", 30)
|
||||
else
|
||||
meta:set_string("is_sit", clicker:get_player_name())
|
||||
clicker:set_eye_offset({x=0,y=-7,z=2}, {x=0,y=0,z=0})
|
||||
clicker:set_physics_override(0, 0, 0)
|
||||
clicker:setpos(pos)
|
||||
default.player_attached[name] = true
|
||||
default.player_set_animation(clicker, "sit", 30)
|
||||
if param2 == 0 then
|
||||
clicker:set_look_yaw(3.15)
|
||||
elseif param2 == 1 then
|
||||
clicker:set_look_yaw(7.9)
|
||||
elseif param2 == 2 then
|
||||
clicker:set_look_yaw(6.28)
|
||||
elseif param2 == 3 then
|
||||
clicker:set_look_yaw(4.75)
|
||||
else return end
|
||||
end
|
||||
--]]
|
||||
end
|
||||
34
homedecor_common/textures.lua
Normal file
@@ -0,0 +1,34 @@
|
||||
homedecor.plain_wood = { name = "homedecor_generic_wood_plain.png", color = 0xffa76820 }
|
||||
homedecor.mahogany_wood = { name = "homedecor_generic_wood_plain.png", color = 0xff7d2506 }
|
||||
homedecor.white_wood = "homedecor_generic_wood_plain.png"
|
||||
homedecor.dark_wood = { name = "homedecor_generic_wood_plain.png", color = 0xff39240f }
|
||||
homedecor.lux_wood = { name = "homedecor_generic_wood_luxury.png", color = 0xff643f23 }
|
||||
|
||||
homedecor.textures = {
|
||||
glass =
|
||||
"[combine:16x16:" ..
|
||||
"0,0=\\[combine\\:1x16\\^[noalpha\\^[colorize\\:#ffffff:" ..
|
||||
"0,0=\\[combine\\:16x1\\^[noalpha\\^[colorize\\:#ffffff:" ..
|
||||
"0,15=\\[combine\\:16x1\\^[noalpha\\^[colorize\\:#ffffff:" ..
|
||||
"15,0=\\[combine\\:1x16\\^[noalpha\\^[colorize\\:#ffffff",
|
||||
default_wood = "[combine:16x16^[noalpha^[colorize:#654321",
|
||||
default_junglewood = "[combine:16x16^[noalpha^[colorize:#563d2d",
|
||||
water = "[combine:16x16^[noalpha^[colorize:#00008b",
|
||||
wool_white = "[combine:16x16^[noalpha^[colorize:#ffffff",
|
||||
wool_black = "[combine:16x16^[noalpha^[colorize:#000000",
|
||||
wool_grey = "[combine:16x16^[noalpha^[colorize:#313b3c",
|
||||
wool_dark_grey = "[combine:16x16^[noalpha^[colorize:#313b3c",
|
||||
}
|
||||
|
||||
if minetest.get_modpath("default") then
|
||||
homedecor.textures = {
|
||||
glass = "default_glass.png",
|
||||
default_wood = "default_wood.png",
|
||||
default_junglewood = "default_junglewood.png",
|
||||
water = "default_water.png",
|
||||
wool_white = "wool_white.png",
|
||||
wool_black = "wool_black.png",
|
||||
wool_grey = "wool_grey.png",
|
||||
wool_dark_grey = "wool_dark_grey.png",
|
||||
}
|
||||
end
|
||||
BIN
homedecor_common/textures/homedecor_blanktile.png
Normal file
|
After Width: | Height: | Size: 82 B |
@@ -19,17 +19,17 @@
|
||||
|
||||
function homedecor.start_particle_spawner(pos, node, particledef, soundname)
|
||||
|
||||
local this_spawner_meta = core.get_meta(pos)
|
||||
local this_spawner_meta = minetest.get_meta(pos)
|
||||
local id = this_spawner_meta:get_int("active")
|
||||
local s_handle = this_spawner_meta:get_int("sound")
|
||||
|
||||
if id ~= 0 then
|
||||
if s_handle then
|
||||
core.after(0, function(handle)
|
||||
core.sound_stop(handle)
|
||||
minetest.after(0, function(handle)
|
||||
minetest.sound_stop(handle)
|
||||
end, s_handle)
|
||||
end
|
||||
core.delete_particlespawner(id)
|
||||
minetest.delete_particlespawner(id)
|
||||
this_spawner_meta:set_int("active", 0)
|
||||
this_spawner_meta:set_int("sound", 0)
|
||||
return
|
||||
@@ -67,7 +67,7 @@ function homedecor.start_particle_spawner(pos, node, particledef, soundname)
|
||||
local maxvelx = maxvelx_t[fdir + 1]
|
||||
local maxvelz = maxvelz_t[fdir + 1]
|
||||
|
||||
id = core.add_particlespawner({
|
||||
id = minetest.add_particlespawner({
|
||||
amount = 60,
|
||||
time = 0,
|
||||
collisiondetection = true,
|
||||
@@ -84,7 +84,7 @@ function homedecor.start_particle_spawner(pos, node, particledef, soundname)
|
||||
maxsize = 1,
|
||||
texture = "homedecor_water_particle.png",
|
||||
})
|
||||
s_handle = core.sound_play(soundname, {
|
||||
s_handle = minetest.sound_play(soundname, {
|
||||
pos = pos,
|
||||
max_hear_distance = 5,
|
||||
loop = true
|
||||
@@ -96,17 +96,17 @@ function homedecor.start_particle_spawner(pos, node, particledef, soundname)
|
||||
end
|
||||
|
||||
function homedecor.stop_particle_spawner(pos)
|
||||
local this_spawner_meta = core.get_meta(pos)
|
||||
local this_spawner_meta = minetest.get_meta(pos)
|
||||
local id = this_spawner_meta:get_int("active")
|
||||
local s_handle = this_spawner_meta:get_int("sound")
|
||||
|
||||
if id ~= 0 then
|
||||
core.delete_particlespawner(id)
|
||||
minetest.delete_particlespawner(id)
|
||||
end
|
||||
|
||||
if s_handle then
|
||||
core.after(0, function(handle)
|
||||
core.sound_stop(handle)
|
||||
minetest.after(0, function(handle)
|
||||
minetest.sound_stop(handle)
|
||||
end, s_handle)
|
||||
end
|
||||
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
homedecor.plain_wood = { name = "homedecor_generic_wood_plain.png", color = 0xffa76820 }
|
||||
homedecor.mahogany_wood = { name = "homedecor_generic_wood_plain.png", color = 0xff7d2506 }
|
||||
homedecor.white_wood = "homedecor_generic_wood_plain.png"
|
||||
homedecor.dark_wood = { name = "homedecor_generic_wood_plain.png", color = 0xff39240f }
|
||||
homedecor.lux_wood = { name = "homedecor_generic_wood_luxury.png", color = 0xff643f23 }
|
||||
|
||||
homedecor.materials = xcompat.materials
|
||||
homedecor.textures = xcompat.textures
|
||||
@@ -1,15 +1,15 @@
|
||||
-- Node definitions for Homedecor doors
|
||||
|
||||
if not core.get_modpath("doors") or not core.get_modpath("default") then
|
||||
core.log(
|
||||
if not minetest.get_modpath("doors") or not minetest.get_modpath("default") then
|
||||
minetest.log(
|
||||
"action",
|
||||
"[homedecor_doors_and_gates]: minetest game not detected, disabling as this mod is minetest game only at this time"
|
||||
)
|
||||
return
|
||||
end
|
||||
|
||||
local S = core.get_translator("homedecor_doors_and_gates")
|
||||
local mesecons_mp = core.get_modpath("mesecons")
|
||||
local S = minetest.get_translator("homedecor_doors_and_gates")
|
||||
local mesecons_mp = minetest.get_modpath("mesecons")
|
||||
homedecor_doors_and_gates = {}
|
||||
|
||||
local door_list = {
|
||||
@@ -19,7 +19,6 @@ local door_list = {
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
sound_open = "homedecor_door_open",
|
||||
sound_close = "homedecor_door_close",
|
||||
use_texture_alpha = "opaque",
|
||||
},
|
||||
{
|
||||
name = "exterior_fancy",
|
||||
@@ -27,29 +26,25 @@ local door_list = {
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
sound_open = "homedecor_door_open",
|
||||
sound_close = "homedecor_door_close",
|
||||
mesh = "homedecor_door_fancy",
|
||||
use_texture_alpha = "blend",
|
||||
mesh = "homedecor_door_fancy"
|
||||
},
|
||||
{
|
||||
name = "french_oak",
|
||||
description = S("French door, Oak-colored"),
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
mesh = "homedecor_door_french",
|
||||
use_texture_alpha = "blend",
|
||||
mesh = "homedecor_door_french"
|
||||
},
|
||||
{
|
||||
name = "french_mahogany",
|
||||
description = S("French door, Mahogany-colored"),
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
mesh = "homedecor_door_french",
|
||||
use_texture_alpha = "blend",
|
||||
mesh = "homedecor_door_french"
|
||||
},
|
||||
{
|
||||
name = "french_white",
|
||||
description = S("French door, White"),
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
mesh = "homedecor_door_french",
|
||||
use_texture_alpha = "blend",
|
||||
mesh = "homedecor_door_french"
|
||||
},
|
||||
{
|
||||
name = "basic_panel",
|
||||
@@ -57,7 +52,6 @@ local door_list = {
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
sound_open = "homedecor_door_open",
|
||||
sound_close = "homedecor_door_close",
|
||||
use_texture_alpha = "opaque",
|
||||
},
|
||||
{
|
||||
name = "wrought_iron",
|
||||
@@ -65,8 +59,7 @@ local door_list = {
|
||||
sounds = default.node_sound_metal_defaults(),
|
||||
sound_open = "doors_steel_door_open",
|
||||
sound_close = "doors_steel_door_close",
|
||||
mesh = "homedecor_door_wrought_iron",
|
||||
use_texture_alpha = "clip",
|
||||
mesh = "homedecor_door_wrought_iron"
|
||||
},
|
||||
{
|
||||
name = "carolina",
|
||||
@@ -74,7 +67,6 @@ local door_list = {
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
sound_open = "homedecor_door_open",
|
||||
sound_close = "homedecor_door_close",
|
||||
use_texture_alpha = "blend",
|
||||
},
|
||||
{
|
||||
name = "woodglass",
|
||||
@@ -82,22 +74,19 @@ local door_list = {
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
sound_open = "homedecor_door_open",
|
||||
sound_close = "homedecor_door_close",
|
||||
mesh = "homedecor_door_wood_glass_3",
|
||||
use_texture_alpha = "clip",
|
||||
mesh = "homedecor_door_wood_glass_3"
|
||||
},
|
||||
{
|
||||
name = "closet_mahogany",
|
||||
description = S("Mahogany Closet Door"),
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
mesh = "homedecor_door_closet",
|
||||
use_texture_alpha = "clip",
|
||||
mesh = "homedecor_door_closet"
|
||||
},
|
||||
{
|
||||
name = "closet_oak",
|
||||
description = S("Oak Closet Door"),
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
mesh = "homedecor_door_closet",
|
||||
use_texture_alpha = "clip",
|
||||
mesh = "homedecor_door_closet"
|
||||
},
|
||||
}
|
||||
|
||||
@@ -110,7 +99,7 @@ local function generate_door(def)
|
||||
local default_settings = {
|
||||
tiles = {{ name = "homedecor_door_" .. def.name .. ".png", backface_culling = true }},
|
||||
inventory_image = "homedecor_door_" .. def.name .. "_inv.png",
|
||||
use_texture_alpha = def.use_texture_alpha or "blend",
|
||||
use_texture_alpha = "blend",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
mesecons = {
|
||||
effector = {
|
||||
@@ -122,7 +111,7 @@ local function generate_door(def)
|
||||
local door = doors.get(pos)
|
||||
if door then door:close() end
|
||||
end,
|
||||
rules = core.global_exists("mesecon") and mesecon.rules.pplate or nil
|
||||
rules = minetest.global_exists("mesecon") and mesecon.rules.pplate or nil
|
||||
}
|
||||
},
|
||||
}
|
||||
@@ -144,7 +133,7 @@ for _, door in ipairs(door_list) do
|
||||
if mesh then
|
||||
for _, v in pairs(door_types) do
|
||||
if door_conversion[v] then v=door_conversion[v] end
|
||||
core.override_item("doors:homedecor_" .. name .. v, {
|
||||
minetest.override_item("doors:homedecor_" .. name .. v, {
|
||||
mesh = mesh .. v .. ".obj"
|
||||
})
|
||||
end
|
||||
@@ -154,8 +143,8 @@ for _, door in ipairs(door_list) do
|
||||
old_doors[#old_doors + 1] = "homedecor:door_"..name.."_left"
|
||||
old_doors[#old_doors + 1] = "homedecor:door_"..name.."_right"
|
||||
|
||||
core.register_alias("doors:"..name.."_a", "doors:homedecor_"..name.."_a")
|
||||
core.register_alias("doors:"..name.."_b", "doors:homedecor_"..name.."_b")
|
||||
minetest.register_alias("doors:"..name.."_a", "doors:homedecor_"..name.."_a")
|
||||
minetest.register_alias("doors:"..name.."_b", "doors:homedecor_"..name.."_b")
|
||||
end
|
||||
|
||||
-- Gates
|
||||
@@ -242,10 +231,10 @@ for i, g in ipairs(gate_list) do
|
||||
|
||||
if gate == "picket" or gate == "picket_white" then
|
||||
tiles = {
|
||||
"blank.png",
|
||||
"blank.png",
|
||||
"blank.png",
|
||||
"blank.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_gate_"..gate.."_back.png",
|
||||
"homedecor_gate_"..gate.."_front.png"
|
||||
}
|
||||
@@ -258,7 +247,6 @@ for i, g in ipairs(gate_list) do
|
||||
paramtype = "light",
|
||||
use_texture_alpha = "clip",
|
||||
groups = {snappy=3, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
paramtype2 = "facedir",
|
||||
@@ -287,7 +275,7 @@ for i, g in ipairs(gate_list) do
|
||||
|
||||
-- gates when placed default to closed, closed.
|
||||
|
||||
core.register_node(":homedecor:gate_"..gate.."_closed", def)
|
||||
minetest.register_node(":homedecor:gate_"..gate.."_closed", def)
|
||||
|
||||
-- this is either a terrible idea or a great one
|
||||
def = table.copy(def)
|
||||
@@ -315,17 +303,17 @@ for i, g in ipairs(gate_list) do
|
||||
}
|
||||
end
|
||||
|
||||
core.register_node(":homedecor:gate_"..gate.."_open", def)
|
||||
minetest.register_node(":homedecor:gate_"..gate.."_open", def)
|
||||
end
|
||||
|
||||
core.register_alias("homedecor:fence_barbed_wire_gate_open", "homedecor:gate_barbed_wire_open")
|
||||
core.register_alias("homedecor:fence_barbed_wire_gate_closed", "homedecor:gate_barbed_wire_closed")
|
||||
core.register_alias("homedecor:fence_chainlink_gate_open", "homedecor:gate_chainlink_open")
|
||||
core.register_alias("homedecor:fence_chainlink_gate_closed", "homedecor:gate_chainlink_closed")
|
||||
core.register_alias("homedecor:fence_picket_gate_open", "homedecor:gate_picket_open")
|
||||
core.register_alias("homedecor:fence_picket_gate_closed", "homedecor:gate_picket_closed")
|
||||
core.register_alias("homedecor:fence_picket_gate_white_open", "homedecor:gate_picket_white_open")
|
||||
core.register_alias("homedecor:fence_picket_gate_white_closed", "homedecor:gate_picket_white_closed")
|
||||
minetest.register_alias("homedecor:fence_barbed_wire_gate_open", "homedecor:gate_barbed_wire_open")
|
||||
minetest.register_alias("homedecor:fence_barbed_wire_gate_closed", "homedecor:gate_barbed_wire_closed")
|
||||
minetest.register_alias("homedecor:fence_chainlink_gate_open", "homedecor:gate_chainlink_open")
|
||||
minetest.register_alias("homedecor:fence_chainlink_gate_closed", "homedecor:gate_chainlink_closed")
|
||||
minetest.register_alias("homedecor:fence_picket_gate_open", "homedecor:gate_picket_open")
|
||||
minetest.register_alias("homedecor:fence_picket_gate_closed", "homedecor:gate_picket_closed")
|
||||
minetest.register_alias("homedecor:fence_picket_gate_white_open", "homedecor:gate_picket_white_open")
|
||||
minetest.register_alias("homedecor:fence_picket_gate_white_closed", "homedecor:gate_picket_white_closed")
|
||||
|
||||
function homedecor_doors_and_gates.flip_gate(pos, node, player, gate, oc)
|
||||
|
||||
@@ -339,8 +327,8 @@ function homedecor_doors_and_gates.flip_gate(pos, node, player, gate, oc)
|
||||
gateresult = "homedecor:gate_"..gate.."_closed"
|
||||
end
|
||||
|
||||
core.set_node(pos, {name = gateresult, param2 = fdir})
|
||||
core.sound_play("homedecor_gate_open_close", {
|
||||
minetest.set_node(pos, {name = gateresult, param2 = fdir})
|
||||
minetest.sound_play("homedecor_gate_open_close", {
|
||||
pos=pos,
|
||||
max_hear_distance = 5,
|
||||
gain = 2,
|
||||
@@ -350,15 +338,15 @@ function homedecor_doors_and_gates.flip_gate(pos, node, player, gate, oc)
|
||||
|
||||
local above = {x=pos.x, y=pos.y+1, z=pos.z}
|
||||
local below = {x=pos.x, y=pos.y-1, z=pos.z}
|
||||
local nodeabove = core.get_node(above)
|
||||
local nodebelow = core.get_node(below)
|
||||
local nodeabove = minetest.get_node(above)
|
||||
local nodebelow = minetest.get_node(below)
|
||||
|
||||
if string.find(nodeabove.name, "homedecor:gate_"..gate) then
|
||||
core.set_node(above, {name = gateresult, param2 = fdir})
|
||||
minetest.set_node(above, {name = gateresult, param2 = fdir})
|
||||
end
|
||||
|
||||
if string.find(nodebelow.name, "homedecor:gate_"..gate) then
|
||||
core.set_node(below, {name = gateresult, param2 = fdir})
|
||||
minetest.set_node(below, {name = gateresult, param2 = fdir})
|
||||
end
|
||||
end
|
||||
|
||||
@@ -383,7 +371,7 @@ homedecor.register("door_japanese_closed", {
|
||||
},
|
||||
expand = { top = "placeholder" },
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
core.set_node(pos, {name = "homedecor:door_japanese_open", param2 = node.param2})
|
||||
minetest.set_node(pos, {name = "homedecor:door_japanese_open", param2 = node.param2})
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
@@ -396,7 +384,7 @@ homedecor.register("door_japanese_open", {
|
||||
mesh = "homedecor_door_japanese_open.obj",
|
||||
groups = { snappy = 3, not_in_creative_inventory = 1 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-1.5, -0.5, -0.0625, 0.5, 1.5, 0},
|
||||
@@ -407,7 +395,7 @@ homedecor.register("door_japanese_open", {
|
||||
},
|
||||
expand = { top = "placeholder" },
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
core.set_node(pos, {name = "homedecor:door_japanese_closed", param2 = node.param2})
|
||||
minetest.set_node(pos, {name = "homedecor:door_japanese_closed", param2 = node.param2})
|
||||
return itemstack
|
||||
end,
|
||||
drop = "homedecor:door_japanese_closed",
|
||||
@@ -417,27 +405,27 @@ homedecor.register("door_japanese_open", {
|
||||
|
||||
-- half-doors
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:gate_half_door_closed 4",
|
||||
recipe = {
|
||||
"doors:homedecor_wood_plain",
|
||||
"doors:homedecor_wood_plain"
|
||||
"doors:homedecor_wood_plain_a",
|
||||
"doors:homedecor_wood_plain_a"
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:gate_half_door_white_closed 4",
|
||||
recipe = {
|
||||
"doors:homedecor_basic_panel",
|
||||
"doors:homedecor_basic_panel"
|
||||
"doors:homedecor_bedroom_a",
|
||||
"doors:homedecor_bedroom_a"
|
||||
},
|
||||
})
|
||||
|
||||
-- Gates
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:gate_picket_white_closed",
|
||||
recipe = {
|
||||
@@ -445,7 +433,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:fence_picket_white",
|
||||
recipe = {
|
||||
@@ -453,7 +441,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:gate_picket_closed",
|
||||
recipe = {
|
||||
@@ -461,7 +449,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:fence_picket",
|
||||
recipe = {
|
||||
@@ -469,7 +457,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:gate_barbed_wire_closed",
|
||||
recipe = {
|
||||
@@ -477,7 +465,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:fence_barbed_wire",
|
||||
recipe = {
|
||||
@@ -485,7 +473,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:gate_chainlink_closed",
|
||||
recipe = {
|
||||
@@ -493,7 +481,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:fence_chainlink",
|
||||
recipe = {
|
||||
@@ -505,7 +493,7 @@ core.register_craft( {
|
||||
|
||||
-- plain wood, non-windowed
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "doors:homedecor_wood_plain 2",
|
||||
recipe = {
|
||||
{ "group:wood", "group:wood", "" },
|
||||
@@ -516,7 +504,7 @@ core.register_craft( {
|
||||
|
||||
-- fancy exterior
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "doors:homedecor_exterior_fancy 2",
|
||||
recipe = {
|
||||
{ "group:wood", "default:glass" },
|
||||
@@ -527,7 +515,7 @@ core.register_craft( {
|
||||
|
||||
-- French style wood/glass
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "doors:homedecor_french_oak 2",
|
||||
recipe = {
|
||||
{ "default:glass", "group:wood" },
|
||||
@@ -536,7 +524,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "doors:homedecor_french_oak 2",
|
||||
recipe = {
|
||||
{ "group:wood", "default:glass" },
|
||||
@@ -545,7 +533,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "doors:homedecor_french_mahogany 2",
|
||||
recipe = {
|
||||
@@ -555,7 +543,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "doors:homedecor_french_white 2",
|
||||
recipe = {
|
||||
@@ -569,7 +557,7 @@ core.register_craft( {
|
||||
|
||||
-- oak
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "doors:homedecor_closet_oak 2",
|
||||
recipe = {
|
||||
{ "", "group:stick", "group:stick" },
|
||||
@@ -580,7 +568,7 @@ core.register_craft( {
|
||||
|
||||
-- mahogany
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "doors:homedecor_closet_mahogany 2",
|
||||
recipe = {
|
||||
@@ -592,7 +580,7 @@ core.register_craft( {
|
||||
|
||||
-- wrought iron fence-like door
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "doors:homedecor_wrought_iron 2",
|
||||
recipe = {
|
||||
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
|
||||
@@ -603,7 +591,7 @@ core.register_craft( {
|
||||
|
||||
-- bedroom/panel door
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "doors:homedecor_basic_panel",
|
||||
recipe = {
|
||||
{ "dye:white", "dye:white", "" },
|
||||
@@ -614,7 +602,7 @@ core.register_craft( {
|
||||
|
||||
-- basic wood/glass single-lite door
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "doors:homedecor_woodglass",
|
||||
recipe = {
|
||||
{ "group:wood", "default:glass", "" },
|
||||
@@ -625,7 +613,7 @@ core.register_craft( {
|
||||
|
||||
-- "Carolina" door
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "doors:homedecor_carolina",
|
||||
recipe = {
|
||||
{ "default:glass", "default:glass", "" },
|
||||
@@ -635,7 +623,7 @@ core.register_craft( {
|
||||
})
|
||||
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:door_japanese_closed",
|
||||
recipe = {
|
||||
{ "homedecor:japanese_wall_top" },
|
||||
@@ -645,44 +633,44 @@ core.register_craft({
|
||||
|
||||
-- aliases
|
||||
|
||||
core.register_alias("homedecor:jpn_door_top", "air")
|
||||
core.register_alias("homedecor:jpn_door_top_open", "air")
|
||||
minetest.register_alias("homedecor:jpn_door_top", "air")
|
||||
minetest.register_alias("homedecor:jpn_door_top_open", "air")
|
||||
|
||||
core.register_alias("homedecor:jpn_door_bottom", "homedecor:door_japanese_closed")
|
||||
core.register_alias("homedecor:jpn_door_bottom_open", "homedecor:door_japanese_open")
|
||||
minetest.register_alias("homedecor:jpn_door_bottom", "homedecor:door_japanese_closed")
|
||||
minetest.register_alias("homedecor:jpn_door_bottom_open", "homedecor:door_japanese_open")
|
||||
|
||||
core.register_alias("homedecor:door_glass_right", "doors:door_glass_b")
|
||||
core.register_alias("homedecor:door_glass_left", "doors:door_glass_a")
|
||||
minetest.register_alias("homedecor:door_glass_right", "doors:door_glass_b")
|
||||
minetest.register_alias("homedecor:door_glass_left", "doors:door_glass_a")
|
||||
|
||||
core.register_alias("doors:wood_glass_oak_a", "doors:homedecor_french_oak_a")
|
||||
core.register_alias("doors:wood_glass_oak_b", "doors:homedecor_french_oak_b")
|
||||
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")
|
||||
|
||||
core.register_alias("doors:wood_glass_white_a", "doors:homedecor_french_white_a")
|
||||
core.register_alias("doors:wood_glass_white_b", "doors:homedecor_french_white_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")
|
||||
|
||||
core.register_alias("doors:wood_glass_mahogany_a", "doors:homedecor_french_mahogany_a")
|
||||
core.register_alias("doors:wood_glass_mahogany_b", "doors:homedecor_french_mahogany_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")
|
||||
|
||||
core.register_alias("doors:homedecor_wood_glass_oak_a", "doors:homedecor_french_oak_a")
|
||||
core.register_alias("doors:homedecor_wood_glass_oak_b", "doors:homedecor_french_oak_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")
|
||||
|
||||
core.register_alias("doors:homedecor_wood_glass_white_a", "doors:homedecor_french_white_a")
|
||||
core.register_alias("doors:homedecor_wood_glass_white_b", "doors:homedecor_french_white_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")
|
||||
|
||||
core.register_alias("doors:homedecor_wood_glass_mahogany_a", "doors:homedecor_french_mahogany_a")
|
||||
core.register_alias("doors:homedecor_wood_glass_mahogany_b", "doors:homedecor_french_mahogany_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")
|
||||
|
||||
core.register_alias("doors:homedecor_woodglass2_a", "doors:homedecor_carolina_a")
|
||||
core.register_alias("doors:homedecor_woodglass2_b", "doors:homedecor_carolina_b")
|
||||
minetest.register_alias("doors:homedecor_woodglass2_a", "doors:homedecor_carolina_a")
|
||||
minetest.register_alias("doors:homedecor_woodglass2_b", "doors:homedecor_carolina_b")
|
||||
|
||||
core.register_alias("doors:woodglass2_a", "doors:homedecor_carolina_a")
|
||||
core.register_alias("doors: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")
|
||||
|
||||
core.register_alias("doors:homedecor_bedroom_a", "doors:homedecor_basic_panel_a")
|
||||
core.register_alias("doors:homedecor_bedroom_b", "doors:homedecor_basic_panel_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")
|
||||
|
||||
core.register_alias("doors:bedroom_a", "doors:homedecor_basic_panel_a")
|
||||
core.register_alias("doors: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
|
||||
|
||||
@@ -701,7 +689,7 @@ 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"
|
||||
|
||||
core.register_lbm({
|
||||
minetest.register_lbm({
|
||||
name = ":homedecor:convert_doors_3",
|
||||
label = "Convert Homedecor doors to mtg doors API",
|
||||
nodenames = old_doors,
|
||||
@@ -714,11 +702,11 @@ core.register_lbm({
|
||||
local newname = "doors:homedecor_"..string.sub(node.name, 16, e-1)
|
||||
if dir == "right" then
|
||||
print("Want to replace "..node.name.." with "..newname.."_a")
|
||||
core.set_node(pos, {name = newname.."_a", param2 = newparam2 })
|
||||
minetest.set_node(pos, {name = newname.."_a", param2 = newparam2 })
|
||||
else
|
||||
print("Want to replace "..node.name.." with "..newname.."_b")
|
||||
core.set_node(pos, {name = newname.."_b", param2 = newparam2 })
|
||||
minetest.set_node(pos, {name = newname.."_b", param2 = newparam2 })
|
||||
end
|
||||
core.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"})
|
||||
end
|
||||
})
|
||||
})
|
||||
@@ -1,23 +1,23 @@
|
||||
local S = core.get_translator("homedecor_electrical")
|
||||
local S = minetest.get_translator("homedecor_electrical")
|
||||
|
||||
homedecor_electrical = {}
|
||||
|
||||
function homedecor_electrical.toggle_switch(pos, node, clicker, itemstack, pointed_thing)
|
||||
if not clicker then return false end
|
||||
local playername = clicker:get_player_name()
|
||||
if core.is_protected(pos, playername) then
|
||||
core.record_protection_violation(pos, playername)
|
||||
if minetest.is_protected(pos, playername) then
|
||||
minetest.record_protection_violation(pos, playername)
|
||||
return false
|
||||
end
|
||||
local sep = string.find(node.name, "_o", -5)
|
||||
local onoff = string.sub(node.name, sep + 1)
|
||||
local newname = string.sub(node.name, 1, sep - 1)..((onoff == "off") and "_on" or "_off")
|
||||
core.swap_node(pos, {name = newname, param2 = node.param2})
|
||||
minetest.swap_node(pos, {name = newname, param2 = node.param2})
|
||||
return true
|
||||
end
|
||||
|
||||
local on_rc
|
||||
if core.get_modpath("mesecons") then
|
||||
if minetest.get_modpath("mesecons") then
|
||||
on_rc = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local t = homedecor_electrical.toggle_switch(pos, node, clicker, itemstack, pointed_thing)
|
||||
if not t then return end
|
||||
@@ -68,7 +68,7 @@ homedecor.register("power_outlet", {
|
||||
for _, onoff in ipairs ({"on", "off"}) do
|
||||
|
||||
local switch_receptor
|
||||
if core.get_modpath("mesecons") then
|
||||
if minetest.get_modpath("mesecons") then
|
||||
switch_receptor = {
|
||||
receptor = {
|
||||
state = mesecon.state[onoff],
|
||||
@@ -139,7 +139,7 @@ homedecor.register("doorbell", {
|
||||
}
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
core.sound_play("homedecor_doorbell", {
|
||||
minetest.sound_play("homedecor_doorbell", {
|
||||
pos = pos,
|
||||
gain = 1.0,
|
||||
max_hear_distance = 15
|
||||
@@ -156,7 +156,7 @@ homedecor.register("doorbell", {
|
||||
|
||||
-- crafting
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:light_switch_off",
|
||||
recipe = {
|
||||
{"", "basic_materials:plastic_sheet", "basic_materials:copper_strip"},
|
||||
@@ -167,4 +167,4 @@ core.register_craft( {
|
||||
|
||||
-- aliases
|
||||
|
||||
core.register_alias("homedecor:light_switch", "homedecor:light_switch_on")
|
||||
minetest.register_alias("homedecor:light_switch", "homedecor:light_switch_on")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
-- Various home electronics
|
||||
|
||||
local S = core.get_translator("homedecor_electronics")
|
||||
local S = minetest.get_translator("homedecor_electronics")
|
||||
|
||||
homedecor.register("speaker", {
|
||||
description = S("Large Stereo Speaker"),
|
||||
@@ -14,7 +14,7 @@ homedecor.register("speaker", {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
core.set_node(pos, {name = "homedecor:speaker_open", param2 = node.param2})
|
||||
minetest.set_node(pos, {name = "homedecor:speaker_open", param2 = node.param2})
|
||||
end,
|
||||
crafts = {
|
||||
{
|
||||
@@ -48,7 +48,7 @@ homedecor.register("speaker_open", {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
core.set_node(pos, {name = "homedecor:speaker", param2 = node.param2})
|
||||
minetest.set_node(pos, {name = "homedecor:speaker", param2 = node.param2})
|
||||
end
|
||||
})
|
||||
|
||||
@@ -151,7 +151,7 @@ homedecor.register("television", {
|
||||
}
|
||||
}
|
||||
},
|
||||
light_source = core.LIGHT_MAX - 1,
|
||||
light_source = minetest.LIGHT_MAX - 1,
|
||||
groups = { snappy = 3, dig_tree = 2 },
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
@@ -250,24 +250,24 @@ homedecor.register("telephone", {
|
||||
|
||||
-- craft items
|
||||
|
||||
core.register_craftitem(":homedecor:vcr", {
|
||||
minetest.register_craftitem(":homedecor:vcr", {
|
||||
description = S("VCR"),
|
||||
inventory_image = "homedecor_vcr.png"
|
||||
})
|
||||
|
||||
core.register_craftitem(":homedecor:dvd_player", {
|
||||
minetest.register_craftitem(":homedecor:dvd_player", {
|
||||
description = S("DVD Player"),
|
||||
inventory_image = "homedecor_dvd_player.png"
|
||||
})
|
||||
|
||||
core.register_craftitem(":homedecor:speaker_driver", {
|
||||
minetest.register_craftitem(":homedecor:speaker_driver", {
|
||||
description = S("Speaker driver"),
|
||||
inventory_image = "homedecor_speaker_driver_inv.png"
|
||||
})
|
||||
|
||||
--crafts
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "basic_materials:ic 4",
|
||||
recipe = {
|
||||
{ "basic_materials:silicon", "basic_materials:silicon" },
|
||||
@@ -275,7 +275,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:speaker_driver 2",
|
||||
recipe = {
|
||||
{ "", homedecor.materials["steel_ingot"], "" },
|
||||
@@ -284,7 +284,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:vcr 2",
|
||||
recipe = {
|
||||
{ "basic_materials:ic", homedecor.materials["steel_ingot"], "basic_materials:plastic_sheet" },
|
||||
@@ -293,7 +293,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:projection_screen",
|
||||
burntime = 30,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local S = core.get_translator("homedecor_exterior")
|
||||
local S = minetest.get_translator("homedecor_exterior")
|
||||
homedecor_exterior = {}
|
||||
|
||||
local bbq_cbox = {
|
||||
@@ -41,9 +41,9 @@ homedecor.register("barbecue", {
|
||||
}
|
||||
})
|
||||
|
||||
core.register_alias("homedecor:barbecue_meat", "air")
|
||||
minetest.register_alias("homedecor:barbecue_meat", "air")
|
||||
|
||||
local wood_tex = homedecor.textures.wood.apple.planks
|
||||
local wood_tex = homedecor.textures.default_wood
|
||||
|
||||
homedecor.register("doghouse", {
|
||||
mesh = "homedecor_doghouse.obj",
|
||||
@@ -61,7 +61,7 @@ homedecor.register("doghouse", {
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
crafts = {
|
||||
{
|
||||
recipe = {
|
||||
@@ -73,13 +73,13 @@ homedecor.register("doghouse", {
|
||||
}
|
||||
})
|
||||
|
||||
core.register_alias("homedecor:doghouse_roof", "air")
|
||||
core.register_alias("homedecor:doghouse_base", "homedecor:doghouse")
|
||||
minetest.register_alias("homedecor:doghouse_roof", "air")
|
||||
minetest.register_alias("homedecor:doghouse_base", "homedecor:doghouse")
|
||||
|
||||
homedecor.register("stonepath", {
|
||||
description = S("Garden stone path"),
|
||||
tiles = {
|
||||
core.registered_nodes["mapgen_stone"].tiles[1],
|
||||
minetest.registered_nodes["mapgen_stone"].tiles[1],
|
||||
},
|
||||
inventory_image = "homedecor_stonepath_inv.png",
|
||||
groups = { snappy=3, dig_stone = 2 },
|
||||
@@ -182,7 +182,7 @@ homedecor.register("swing", {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
walkable = false,
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
@@ -207,12 +207,12 @@ homedecor.register("swing", {
|
||||
for i = 0, 4 do -- search up to 5 spaces downward from the ceiling for the first non-buildable-to node...
|
||||
height = i
|
||||
local testpos = { x=pos.x, y=pos.y-i-1, z=pos.z }
|
||||
local testnode = core.get_node_or_nil(testpos)
|
||||
local testnode = minetest.get_node_or_nil(testpos)
|
||||
local testreg = testnode and core.registered_nodes[testnode.name]
|
||||
|
||||
if not testreg or not testreg.buildable_to then
|
||||
if i < 1 then
|
||||
core.chat_send_player(placer_name, S("No room under there to hang a swing."))
|
||||
minetest.chat_send_player(placer_name, S("No room under there to hang a swing."))
|
||||
return itemstack
|
||||
else
|
||||
break
|
||||
@@ -220,19 +220,19 @@ homedecor.register("swing", {
|
||||
end
|
||||
end
|
||||
|
||||
local fdir = core.dir_to_facedir(placer:get_look_dir())
|
||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||
for j = 0, height do -- then fill that space with ropes...
|
||||
local testpos = { x=pos.x, y=pos.y-j, z=pos.z }
|
||||
core.set_node(testpos, { name = "homedecor:swing_rope", param2 = fdir })
|
||||
minetest.set_node(testpos, { name = "homedecor:swing_rope", param2 = fdir })
|
||||
end
|
||||
|
||||
core.set_node({ x=pos.x, y=pos.y-height, z=pos.z }, { name = "homedecor:swing", param2 = fdir })
|
||||
minetest.set_node({ x=pos.x, y=pos.y-height, z=pos.z }, { name = "homedecor:swing", param2 = fdir })
|
||||
|
||||
if not core.is_creative_enabled(placer_name) then
|
||||
if not minetest.is_creative_enabled(placer_name) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
else
|
||||
core.chat_send_player(placer_name,
|
||||
minetest.chat_send_player(placer_name,
|
||||
S("You have to point at the bottom side of an overhanging object to place a swing."))
|
||||
end
|
||||
return itemstack
|
||||
@@ -240,8 +240,8 @@ homedecor.register("swing", {
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
for i = 0, 4 do
|
||||
local testpos = { x=pos.x, y=pos.y+i+1, z=pos.z }
|
||||
if core.get_node(testpos).name == "homedecor:swing_rope" then
|
||||
core.remove_node(testpos)
|
||||
if minetest.get_node(testpos).name == "homedecor:swing_rope" then
|
||||
minetest.remove_node(testpos)
|
||||
else
|
||||
return
|
||||
end
|
||||
@@ -288,13 +288,14 @@ homedecor.register("swing_rope", {
|
||||
selection_box = homedecor.nodebox.null
|
||||
})
|
||||
|
||||
local water_tex = homedecor.textures.water.tile
|
||||
local cobble_tex = core.registered_nodes["mapgen_stone"].tiles[1]
|
||||
local stone_drop = core.registered_nodes["mapgen_stone"].drop
|
||||
local water_tex = "default_water.png"
|
||||
if not minetest.get_modpath("default") then water_tex = "[combine:16x16^[noalpha^[colorize:#00008b" end
|
||||
local cobble_tex = minetest.registered_nodes["mapgen_stone"].tiles[1]
|
||||
local stone_drop = minetest.registered_nodes["mapgen_stone"].drop
|
||||
if stone_drop and type(stone_drop) == "string" then
|
||||
cobble_tex = core.registered_nodes[stone_drop].tiles[1]
|
||||
cobble_tex = minetest.registered_nodes[stone_drop].tiles[1]
|
||||
elseif stone_drop and type(stone_drop) == "table" then
|
||||
cobble_tex = core.registered_nodes[stone_drop.items[1].items[1]].tiles[1]
|
||||
cobble_tex = minetest.registered_nodes[stone_drop.items[1].items[1]].tiles[1]
|
||||
end
|
||||
|
||||
homedecor.register("well", {
|
||||
@@ -317,7 +318,7 @@ homedecor.register("well", {
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
crafts = {
|
||||
{
|
||||
recipe = {
|
||||
@@ -330,18 +331,18 @@ homedecor.register("well", {
|
||||
})
|
||||
|
||||
--because the engine of all people cant follow right to a name, need to verify bucket empty
|
||||
if core.get_modpath("bucket") and core.registered_items["bucket:bucket_empty"] then
|
||||
local original_bucket_on_use = core.registered_items["bucket:bucket_empty"].on_use
|
||||
core.override_item("bucket:bucket_empty", {
|
||||
if minetest.get_modpath("bucket") and minetest.registered_items["bucket:bucket_empty"] then
|
||||
local original_bucket_on_use = minetest.registered_items["bucket:bucket_empty"].on_use
|
||||
minetest.override_item("bucket:bucket_empty", {
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
local inv = user:get_inventory()
|
||||
|
||||
if pointed_thing.type == "node" and core.get_node(pointed_thing.under).name == "homedecor:well" then
|
||||
if pointed_thing.type == "node" and minetest.get_node(pointed_thing.under).name == "homedecor:well" then
|
||||
if inv:room_for_item("main", "bucket:bucket_water 1") then
|
||||
itemstack:take_item()
|
||||
inv:add_item("main", "bucket:bucket_water 1")
|
||||
else
|
||||
core.chat_send_player(user:get_player_name(), S("No room in your inventory to add a filled bucket!"))
|
||||
minetest.chat_send_player(user:get_player_name(), S("No room in your inventory to add a filled bucket!"))
|
||||
end
|
||||
return itemstack
|
||||
else if original_bucket_on_use then
|
||||
@@ -412,7 +413,7 @@ for color, color_loc in pairs(homedecor_exterior.shrub_colors) do
|
||||
})
|
||||
|
||||
if color ~= "green" then
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:shrubbery_large_"..color,
|
||||
recipe = {
|
||||
@@ -421,7 +422,7 @@ for color, color_loc in pairs(homedecor_exterior.shrub_colors) do
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:shrubbery_"..color,
|
||||
recipe = {
|
||||
@@ -435,7 +436,7 @@ end
|
||||
|
||||
-- crafting
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:lattice_wood 8",
|
||||
recipe = {
|
||||
{"group:stick", "group:wood", "group:stick"},
|
||||
@@ -444,7 +445,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:lattice_white_wood 8",
|
||||
recipe = {
|
||||
{"group:stick", "group:wood", "group:stick"},
|
||||
@@ -453,7 +454,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:lattice_wood_vegetal 8",
|
||||
recipe = {
|
||||
{"group:stick", "group:wood", "group:stick"},
|
||||
@@ -462,7 +463,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:lattice_white_wood_vegetal 8",
|
||||
recipe = {
|
||||
{"group:stick", "group:wood", "group:stick"},
|
||||
@@ -472,7 +473,7 @@ core.register_craft({
|
||||
})
|
||||
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:shrubbery_green 3",
|
||||
recipe = {
|
||||
{ "group:leaves", "group:leaves", "group:leaves" },
|
||||
@@ -483,8 +484,8 @@ core.register_craft({
|
||||
|
||||
-- aliases
|
||||
|
||||
core.register_alias("homedecor:well_top", "air")
|
||||
core.register_alias("homedecor:well_base", "homedecor:well")
|
||||
minetest.register_alias("homedecor:well_top", "air")
|
||||
minetest.register_alias("homedecor:well_base", "homedecor:well")
|
||||
|
||||
core.register_alias("gloopblocks:shrubbery", "homedecor:shrubbery_green")
|
||||
core.register_alias("gloopblocks:shrubbery_large", "homedecor:shrubbery_large_green")
|
||||
minetest.register_alias("gloopblocks:shrubbery", "homedecor:shrubbery_green")
|
||||
minetest.register_alias("gloopblocks:shrubbery_large", "homedecor:shrubbery_large_green")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
-- This file adds fences of various types
|
||||
|
||||
local S = core.get_translator("homedecor_fences")
|
||||
local S = minetest.get_translator("homedecor_fences")
|
||||
|
||||
local brass = {
|
||||
output = "homedecor:fence_brass 6",
|
||||
@@ -49,8 +49,8 @@ end
|
||||
homedecor.register("fence_picket", {
|
||||
description = S("Unpainted Picket Fence"),
|
||||
tiles = {
|
||||
"blank.png",
|
||||
"blank.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_fence_picket.png",
|
||||
"homedecor_fence_picket.png",
|
||||
"homedecor_fence_picket_backside.png",
|
||||
@@ -85,8 +85,8 @@ homedecor.register("fence_picket", {
|
||||
homedecor.register("fence_picket_corner", {
|
||||
description = S("Unpainted Picket Fence Corner"),
|
||||
tiles = {
|
||||
"blank.png",
|
||||
"blank.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_fence_picket.png",
|
||||
"homedecor_fence_picket_backside.png",
|
||||
"homedecor_fence_picket_backside.png",
|
||||
@@ -113,8 +113,8 @@ homedecor.register("fence_picket_corner", {
|
||||
homedecor.register("fence_picket_white", {
|
||||
description = S("White Picket Fence"),
|
||||
tiles = {
|
||||
"blank.png",
|
||||
"blank.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_fence_picket_white.png",
|
||||
"homedecor_fence_picket_white.png",
|
||||
"homedecor_fence_picket_white_backside.png",
|
||||
@@ -149,8 +149,8 @@ homedecor.register("fence_picket_white", {
|
||||
homedecor.register("fence_picket_corner_white", {
|
||||
description = S("White Picket Fence Corner"),
|
||||
tiles = {
|
||||
"blank.png",
|
||||
"blank.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_fence_picket_white.png",
|
||||
"homedecor_fence_picket_white_backside.png",
|
||||
"homedecor_fence_picket_white_backside.png",
|
||||
@@ -465,7 +465,7 @@ homedecor.register("fence_wrought_iron_2_corner", {
|
||||
})
|
||||
|
||||
-- insert the old wood signs-on-metal-fences into signs_lib's conversion LBM
|
||||
if core.get_modpath("signs_lib") and core.get_modpath("default") then
|
||||
if minetest.get_modpath("signs_lib") and minetest.get_modpath("default") then
|
||||
-- FIXME: export a function in signs_lib API to allow signs_lib to be read only in .luacheckrc
|
||||
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"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local S = core.get_translator("homedecor_foyer")
|
||||
local S = minetest.get_translator("homedecor_foyer")
|
||||
|
||||
homedecor.register("coatrack_wallmount", {
|
||||
tiles = { homedecor.plain_wood },
|
||||
@@ -49,7 +49,7 @@ homedecor.register("coat_tree", {
|
||||
type = "fixed",
|
||||
fixed = { -0.4, -0.5, -0.4, 0.4, 1.5, 0.4 }
|
||||
},
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
crafts = {
|
||||
{
|
||||
recipe = {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
local S = core.get_translator("homedecor_furniture")
|
||||
local S = minetest.get_translator("homedecor_furniture")
|
||||
|
||||
local ob_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0.5 }
|
||||
}
|
||||
|
||||
local wood_tex = homedecor.textures.wood.apple.planks
|
||||
local wood_tex = homedecor.textures.default_wood
|
||||
|
||||
homedecor.register("openframe_bookshelf", {
|
||||
description = S("Bookshelf (open-frame)"),
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local S = core.get_translator("homedecor_furniture_medieval")
|
||||
local S = minetest.get_translator("homedecor_furniture_medieval")
|
||||
|
||||
homedecor.register("bars", {
|
||||
description = S("Bars"),
|
||||
@@ -90,10 +90,10 @@ homedecor.register("chains", {
|
||||
}
|
||||
})
|
||||
|
||||
core.register_alias("3dforniture:bars", "homedecor:bars")
|
||||
core.register_alias("3dforniture:L_binding_bars", "homedecor:L_binding_bars")
|
||||
core.register_alias("3dforniture:chains", "homedecor:chains")
|
||||
minetest.register_alias("3dforniture:bars", "homedecor:bars")
|
||||
minetest.register_alias("3dforniture:L_binding_bars", "homedecor:L_binding_bars")
|
||||
minetest.register_alias("3dforniture:chains", "homedecor:chains")
|
||||
|
||||
core.register_alias('bars', 'homedecor:bars')
|
||||
core.register_alias('binding_bars', 'homedecor:L_binding_bars')
|
||||
core.register_alias('chains', 'homedecor:chains')
|
||||
minetest.register_alias('bars', 'homedecor:bars')
|
||||
minetest.register_alias('binding_bars', 'homedecor:L_binding_bars')
|
||||
minetest.register_alias('chains', 'homedecor:chains')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local S = core.get_translator("homedecor_gastronomy")
|
||||
local S = minetest.get_translator("homedecor_gastronomy")
|
||||
|
||||
local cutlery_cbox = {
|
||||
type = "fixed",
|
||||
@@ -14,14 +14,14 @@ local fdir_to_steampos = {
|
||||
}
|
||||
|
||||
local function sfx(pos)
|
||||
local node = core.get_node(pos)
|
||||
local node = minetest.get_node(pos)
|
||||
local fdir = node.param2
|
||||
if fdir and fdir < 4 then
|
||||
|
||||
local steamx = fdir_to_steampos.x[fdir + 1]
|
||||
local steamz = fdir_to_steampos.z[fdir + 1]
|
||||
|
||||
core.add_particlespawner({
|
||||
minetest.add_particlespawner({
|
||||
amount = 1,
|
||||
time = 1,
|
||||
minpos = {x=pos.x - steamx, y=pos.y - 0.35, z=pos.z - steamz},
|
||||
@@ -171,7 +171,7 @@ homedecor.register("coffee_maker", {
|
||||
groups = {snappy=3, dig_stone=3},
|
||||
selection_box = cm_cbox,
|
||||
node_box = cm_cbox,
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
crafts = {
|
||||
{
|
||||
recipe = {
|
||||
@@ -183,7 +183,7 @@ homedecor.register("coffee_maker", {
|
||||
},
|
||||
on_timer = sfx,
|
||||
on_construct = function(pos)
|
||||
core.get_node_timer(pos):start(2)
|
||||
minetest.get_node_timer(pos):start(2)
|
||||
end
|
||||
})
|
||||
|
||||
@@ -202,8 +202,8 @@ homedecor.register("toaster", {
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local fdir = node.param2
|
||||
core.set_node(pos, { name = "homedecor:toaster_loaf", param2 = fdir })
|
||||
core.sound_play("toaster", {
|
||||
minetest.set_node(pos, { name = "homedecor:toaster_loaf", param2 = fdir })
|
||||
minetest.sound_play("toaster", {
|
||||
pos = pos,
|
||||
gain = 1.0,
|
||||
max_hear_distance = 5
|
||||
@@ -242,7 +242,7 @@ homedecor.register("toaster_loaf", {
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local fdir = node.param2
|
||||
core.set_node(pos, { name = "homedecor:toaster", param2 = fdir })
|
||||
minetest.set_node(pos, { name = "homedecor:toaster", param2 = fdir })
|
||||
return itemstack
|
||||
end,
|
||||
drop = "homedecor:toaster"
|
||||
@@ -250,21 +250,21 @@ homedecor.register("toaster_loaf", {
|
||||
|
||||
-- crafting
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:bottle_green",
|
||||
recipe = {
|
||||
{ homedecor.materials["glass_bottle"], homedecor.materials["dye_green"] }
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:bottle_brown",
|
||||
recipe = {
|
||||
{ homedecor.materials["glass_bottle"], homedecor.materials["dye_brown"] }
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:4_bottles_brown",
|
||||
recipe = {
|
||||
@@ -275,7 +275,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:4_bottles_green",
|
||||
recipe = {
|
||||
@@ -286,7 +286,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:4_bottles_multi",
|
||||
recipe = {
|
||||
@@ -297,7 +297,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:wine_rack",
|
||||
recipe = {
|
||||
{ "homedecor:4_bottles_brown", "group:wood", "homedecor:4_bottles_brown" },
|
||||
@@ -306,11 +306,11 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_lbm({
|
||||
minetest.register_lbm({
|
||||
name = "homedecor_gastronomy:sfx_init",
|
||||
nodenames = {"homedecor:coffee_maker"},
|
||||
run_at_every_load = false,
|
||||
action = function(pos)
|
||||
core.get_node_timer(pos):start(2)
|
||||
minetest.get_node_timer(pos):start(2)
|
||||
end
|
||||
})
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local S = core.get_translator("inbox")
|
||||
local S = minetest.get_translator("inbox")
|
||||
|
||||
local inbox = {}
|
||||
|
||||
@@ -25,9 +25,9 @@ homedecor.register("inbox", {
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
after_place_node = function(pos, placer, itemstack)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local owner = placer:get_player_name()
|
||||
meta:set_string("owner", owner)
|
||||
meta:set_string("infotext", S("@1's Mailbox", owner))
|
||||
@@ -36,18 +36,18 @@ homedecor.register("inbox", {
|
||||
inv:set_size("drop", 1)
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local player = clicker:get_player_name()
|
||||
local owner = meta:get_string("owner")
|
||||
if owner == player or
|
||||
core.check_player_privs(player, "protection_bypass") and
|
||||
minetest.check_player_privs(player, "protection_bypass") and
|
||||
clicker:get_player_control().aux1 then
|
||||
core.show_formspec(
|
||||
minetest.show_formspec(
|
||||
player,
|
||||
"inbox:mailbox",
|
||||
inbox.get_inbox_formspec(pos))
|
||||
else
|
||||
core.show_formspec(
|
||||
minetest.show_formspec(
|
||||
player,
|
||||
"inbox:mailbox",
|
||||
inbox.get_inbox_insert_formspec(pos))
|
||||
@@ -55,14 +55,14 @@ homedecor.register("inbox", {
|
||||
return itemstack
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = core.get_meta(pos);
|
||||
local meta = minetest.get_meta(pos);
|
||||
local name = player and player:get_player_name()
|
||||
local owner = meta:get_string("owner")
|
||||
local inv = meta:get_inventory()
|
||||
return name == owner and inv:is_empty("main")
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
if listname == "drop" and inv:room_for_item("main", stack) then
|
||||
inv:remove_item("drop", stack)
|
||||
@@ -74,7 +74,7 @@ homedecor.register("inbox", {
|
||||
return 0
|
||||
end
|
||||
if listname == "drop" then
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
if inv:room_for_item("main", stack) then
|
||||
return -1
|
||||
@@ -84,10 +84,10 @@ homedecor.register("inbox", {
|
||||
end
|
||||
end,
|
||||
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local owner = meta:get_string("owner")
|
||||
if player:get_player_name() == owner or
|
||||
core.check_player_privs(player, "protection_bypass") and
|
||||
minetest.check_player_privs(player, "protection_bypass") and
|
||||
player:get_player_control().aux1 then
|
||||
return stack:get_count()
|
||||
end
|
||||
@@ -107,7 +107,7 @@ homedecor.register("inbox", {
|
||||
}
|
||||
})
|
||||
|
||||
core.register_alias("inbox:empty", "homedecor:inbox")
|
||||
minetest.register_alias("inbox:empty", "homedecor:inbox")
|
||||
|
||||
function inbox.get_inbox_formspec(pos)
|
||||
local spos = pos.x .. "," .. pos.y .. "," ..pos.z
|
||||
@@ -128,3 +128,5 @@ function inbox.get_inbox_insert_formspec(pos)
|
||||
"listring[]"
|
||||
return formspec
|
||||
end
|
||||
|
||||
minetest.log("action", "[inbox] loaded.")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
-- This file supplies Kitchen stuff like refrigerators, sinks, etc.
|
||||
|
||||
local S = core.get_translator("homedecor_kitchen")
|
||||
local S = minetest.get_translator("homedecor_kitchen")
|
||||
|
||||
-- steel-textured fridge
|
||||
homedecor.register("refrigerator_steel", {
|
||||
@@ -20,7 +20,7 @@ homedecor.register("refrigerator_steel", {
|
||||
size=50,
|
||||
lockable=true,
|
||||
},
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
})
|
||||
|
||||
-- white, enameled fridge
|
||||
@@ -41,21 +41,21 @@ homedecor.register("refrigerator_white", {
|
||||
size=50,
|
||||
lockable=true,
|
||||
},
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
})
|
||||
|
||||
core.register_alias("homedecor:refrigerator_white_bottom", "homedecor:refrigerator_white")
|
||||
core.register_alias("homedecor:refrigerator_white_top", "air")
|
||||
minetest.register_alias("homedecor:refrigerator_white_bottom", "homedecor:refrigerator_white")
|
||||
minetest.register_alias("homedecor:refrigerator_white_top", "air")
|
||||
|
||||
core.register_alias("homedecor:refrigerator_steel_bottom", "homedecor:refrigerator_steel")
|
||||
core.register_alias("homedecor:refrigerator_steel_top", "air")
|
||||
minetest.register_alias("homedecor:refrigerator_steel_bottom", "homedecor:refrigerator_steel")
|
||||
minetest.register_alias("homedecor:refrigerator_steel_top", "air")
|
||||
|
||||
core.register_alias("homedecor:refrigerator_white_bottom_locked", "homedecor:refrigerator_white_locked")
|
||||
core.register_alias("homedecor:refrigerator_white_top_locked", "air")
|
||||
core.register_alias("homedecor:refrigerator_locked", "homedecor:refrigerator_white_locked")
|
||||
minetest.register_alias("homedecor:refrigerator_white_bottom_locked", "homedecor:refrigerator_white_locked")
|
||||
minetest.register_alias("homedecor:refrigerator_white_top_locked", "air")
|
||||
minetest.register_alias("homedecor:refrigerator_locked", "homedecor:refrigerator_white_locked")
|
||||
|
||||
core.register_alias("homedecor:refrigerator_steel_bottom_locked", "homedecor:refrigerator_steel_locked")
|
||||
core.register_alias("homedecor:refrigerator_steel_top_locked", "air")
|
||||
minetest.register_alias("homedecor:refrigerator_steel_bottom_locked", "homedecor:refrigerator_steel_locked")
|
||||
minetest.register_alias("homedecor:refrigerator_steel_top_locked", "air")
|
||||
|
||||
-- kitchen "furnaces"
|
||||
homedecor.register_furnace("oven", {
|
||||
@@ -145,7 +145,7 @@ homedecor.register("dishwasher_"..m, {
|
||||
})
|
||||
end
|
||||
|
||||
local wood_tex = homedecor.textures.wood.apple.planks
|
||||
local wood_tex = homedecor.textures.default_wood
|
||||
local cabinet_sides = "("..wood_tex.."^[transformR90)^homedecor_kitchen_cabinet_bevel.png"
|
||||
local cabinet_sides_colored = "(homedecor_generic_wood_plain.png^[transformR90)^homedecor_kitchen_cabinet_bevel.png"
|
||||
|
||||
@@ -476,7 +476,7 @@ homedecor.register("copper_pans", {
|
||||
groups = { snappy=3, dig_stone=1 },
|
||||
selection_box = cp_cbox,
|
||||
walkable = false,
|
||||
on_place = core.rotate_node
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
|
||||
local kf_cbox = {
|
||||
@@ -492,9 +492,9 @@ homedecor.register("kitchen_faucet", {
|
||||
groups = {snappy=3, dig_stone=1},
|
||||
selection_box = kf_cbox,
|
||||
walkable = false,
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local below = core.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
|
||||
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
|
||||
if below and string.find(below.name, "homedecor:.*sink") then
|
||||
local particledef = {
|
||||
outlet = { x = 0, y = -0.19, z = 0.13 },
|
||||
@@ -529,7 +529,7 @@ homedecor.register("paper_towel", {
|
||||
-- crafting
|
||||
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:oven_steel",
|
||||
recipe = {
|
||||
{"basic_materials:heating_element", homedecor.materials.steel_ingot, "basic_materials:heating_element", },
|
||||
@@ -538,7 +538,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:oven_steel",
|
||||
recipe = {
|
||||
{"basic_materials:heating_element", homedecor.materials.steel_ingot, "basic_materials:heating_element", },
|
||||
@@ -547,7 +547,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:oven",
|
||||
recipe = {
|
||||
@@ -557,7 +557,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:microwave_oven 2",
|
||||
recipe = {
|
||||
{homedecor.materials.steel_ingot, homedecor.materials.steel_ingot, homedecor.materials.steel_ingot, },
|
||||
@@ -566,7 +566,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:microwave_oven 2",
|
||||
recipe = {
|
||||
{homedecor.materials.steel_ingot, homedecor.materials.steel_ingot, homedecor.materials.steel_ingot, },
|
||||
@@ -575,7 +575,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:refrigerator_steel",
|
||||
recipe = {
|
||||
{homedecor.materials.steel_ingot, "homedecor:glowlight_small_cube", homedecor.materials.steel_ingot, },
|
||||
@@ -584,7 +584,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:refrigerator_white",
|
||||
recipe = {
|
||||
@@ -595,7 +595,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:kitchen_cabinet_colorable",
|
||||
recipe = {
|
||||
{"group:wood", "group:stick", "group:wood", },
|
||||
@@ -604,7 +604,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:kitchen_cabinet_colorable_with_drawers",
|
||||
recipe = {
|
||||
{"homedecor:kitchen_cabinet_colorable", },
|
||||
@@ -615,7 +615,7 @@ core.register_craft({
|
||||
local cabinet_types = { "homedecor:kitchen_cabinet_colorable", "homedecor:kitchen_cabinet_colorable_with_drawers" }
|
||||
|
||||
for _, cabinet in ipairs(cabinet_types) do
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = cabinet.."_steel",
|
||||
recipe = {
|
||||
{homedecor.materials.steel_ingot, homedecor.materials.steel_ingot, homedecor.materials.steel_ingot},
|
||||
@@ -623,7 +623,7 @@ for _, cabinet in ipairs(cabinet_types) do
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = cabinet.."_steel",
|
||||
recipe = {
|
||||
{"moreblocks:slab_steelblock_1"},
|
||||
@@ -631,7 +631,7 @@ for _, cabinet in ipairs(cabinet_types) do
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = cabinet.."_marble",
|
||||
recipe = {
|
||||
{"building_blocks:slab_marble"},
|
||||
@@ -639,7 +639,7 @@ for _, cabinet in ipairs(cabinet_types) do
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = cabinet.."_marble",
|
||||
recipe = {
|
||||
{"technic:slab_marble_1"},
|
||||
@@ -647,7 +647,7 @@ for _, cabinet in ipairs(cabinet_types) do
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = cabinet.."_granite",
|
||||
recipe = {
|
||||
{"technic:slab_granite_1"},
|
||||
@@ -656,13 +656,13 @@ for _, cabinet in ipairs(cabinet_types) do
|
||||
})
|
||||
end
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:kitchen_cabinet_colorable_half 2",
|
||||
recipe = { "homedecor:kitchen_cabinet_colorable" }
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:kitchen_cabinet_colorable_with_sink",
|
||||
recipe = {
|
||||
{"group:wood", homedecor.materials.steel_ingot, "group:wood", },
|
||||
@@ -671,7 +671,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:dishwasher",
|
||||
recipe = {
|
||||
{ "basic_materials:ic", "building_blocks:slab_grate_1", homedecor.materials.steel_ingot, },
|
||||
@@ -680,7 +680,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:dishwasher",
|
||||
recipe = {
|
||||
{ "basic_materials:ic", "homedecor:fence_chainlink", homedecor.materials.steel_ingot, },
|
||||
@@ -689,7 +689,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:dishwasher_wood",
|
||||
recipe = {
|
||||
{ "stairs:slab_wood" },
|
||||
@@ -697,7 +697,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:dishwasher_wood",
|
||||
recipe = {
|
||||
{ "moreblocks:slab_wood" },
|
||||
@@ -705,7 +705,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:dishwasher_wood",
|
||||
recipe = {
|
||||
{ "moreblocks:slab_wood_1" },
|
||||
@@ -713,7 +713,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:dishwasher_steel",
|
||||
recipe = {
|
||||
{ homedecor.materials.steel_ingot, homedecor.materials.steel_ingot, homedecor.materials.steel_ingot },
|
||||
@@ -721,7 +721,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:dishwasher_steel",
|
||||
recipe = {
|
||||
{ "moreblocks:slab_steelblock_1" },
|
||||
@@ -729,7 +729,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:dishwasher_marble",
|
||||
recipe = {
|
||||
{ "building_blocks:slab_marble" },
|
||||
@@ -737,7 +737,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:dishwasher_marble",
|
||||
recipe = {
|
||||
{ "technic:slab_marble_1" },
|
||||
@@ -745,7 +745,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:dishwasher_granite",
|
||||
recipe = {
|
||||
{ "technic:slab_granite_1" },
|
||||
@@ -753,7 +753,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:kitchen_faucet",
|
||||
recipe = {
|
||||
{ "", homedecor.materials.steel_ingot },
|
||||
@@ -762,7 +762,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:kitchen_faucet",
|
||||
recipe = {
|
||||
{ homedecor.materials.steel_ingot,"" },
|
||||
@@ -771,7 +771,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:cutlery_set",
|
||||
recipe = {
|
||||
{ "", "vessels:drinking_glass", "" },
|
||||
@@ -779,7 +779,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:cutlery_set",
|
||||
recipe = {
|
||||
{ "", "vessels:drinking_glass", "" },
|
||||
@@ -787,7 +787,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:copper_pans",
|
||||
recipe = {
|
||||
{ "basic_materials:copper_strip","","basic_materials:copper_strip" },
|
||||
@@ -796,14 +796,14 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:paper_towel",
|
||||
recipe = {
|
||||
{ "homedecor:toilet_paper", "homedecor:toilet_paper" }
|
||||
},
|
||||
})
|
||||
|
||||
core.register_lbm({
|
||||
minetest.register_lbm({
|
||||
name = ":homedecor:convert_kitchen_cabinets",
|
||||
label = "Convert homedecor kitchen cabinets to use [color]wallmounted",
|
||||
run_at_every_load = false,
|
||||
@@ -825,6 +825,6 @@ core.register_lbm({
|
||||
new_fdir = 5
|
||||
end
|
||||
|
||||
core.swap_node(pos, { name = newname, param2 = new_fdir })
|
||||
minetest.swap_node(pos, { name = newname, param2 = new_fdir })
|
||||
end
|
||||
})
|
||||
|
||||
@@ -4,7 +4,7 @@ Refrigerator=Kühlschrank
|
||||
Oven=Backofen
|
||||
Oven (stainless steel)=Backofen (Edelstahl)
|
||||
Microwave Oven=Mikrowelle
|
||||
Dishwasher=Spülmaschine
|
||||
Dishwasher=Spülmachine
|
||||
granite=Granit
|
||||
marble=Marmor
|
||||
steel=Stahl
|
||||
|
||||
|
Before Width: | Height: | Size: 210 B After Width: | Height: | Size: 244 B |
|
Before Width: | Height: | Size: 166 B After Width: | Height: | Size: 190 B |
|
Before Width: | Height: | Size: 214 B After Width: | Height: | Size: 254 B |
|
Before Width: | Height: | Size: 320 B After Width: | Height: | Size: 532 B |
|
Before Width: | Height: | Size: 259 B After Width: | Height: | Size: 381 B |
|
Before Width: | Height: | Size: 330 B After Width: | Height: | Size: 561 B |
|
Before Width: | Height: | Size: 276 B After Width: | Height: | Size: 286 B |
@@ -1,4 +1,4 @@
|
||||
local S = core.get_translator("homedecor_laundry")
|
||||
local S = minetest.get_translator("homedecor_laundry")
|
||||
-- laundry devices
|
||||
|
||||
homedecor.register("washing_machine", {
|
||||
@@ -80,7 +80,8 @@ local ib_cbox = {
|
||||
fixed = { -6/16, -8/16, -4/16, 17/16, 4/16, 4/16 }
|
||||
}
|
||||
|
||||
local wool_tex = homedecor.textures.wool.grey
|
||||
local wool_tex = "wool_grey.png"
|
||||
if not minetest.get_modpath("wool") then wool_tex = "[combine:16x16^[noalpha^[colorize:#3A3B3C" end
|
||||
|
||||
homedecor.register("ironing_board", {
|
||||
description = S("Ironing board"),
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
-- The code for ovens, nightstands, refrigerators are basically modified
|
||||
-- copies of the code for chests and furnaces.
|
||||
|
||||
local S = core.get_translator("homedecor_misc")
|
||||
local S = minetest.get_translator("homedecor_misc")
|
||||
|
||||
homedecor_misc = {}
|
||||
|
||||
local wool_black, wool_grey = homedecor.textures.wool.black, homedecor.textures.wool.grey
|
||||
local wood_tex = homedecor.textures.wood.apple.planks
|
||||
local wool_black, wool_grey = homedecor.textures.wool_black, homedecor.textures.wool_grey
|
||||
local wood_tex = homedecor.textures.default_wood
|
||||
|
||||
homedecor.register("ceiling_paint", {
|
||||
description = S("Textured Ceiling Paint"),
|
||||
@@ -106,7 +106,7 @@ for _, pot in ipairs(pot_colors) do
|
||||
})
|
||||
end
|
||||
|
||||
if core.get_modpath("flowers") then
|
||||
if minetest.get_modpath("flowers") then
|
||||
local flowers_list = {
|
||||
{ S("Rose"), "rose", "flowers:rose" },
|
||||
{ S("Tulip"), "tulip", "flowers:tulip" },
|
||||
@@ -141,15 +141,15 @@ if core.get_modpath("flowers") then
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:potted_"..flower,
|
||||
recipe = { craftwith, "homedecor:flower_pot_small" }
|
||||
})
|
||||
|
||||
core.register_alias("flowers:flower_"..flower.."_pot", "homedecor:potted_"..flower)
|
||||
core.register_alias("flowers:potted_"..flower, "homedecor:potted_"..flower)
|
||||
core.register_alias("flowers:flower_pot", "homedecor:flower_pot_small")
|
||||
minetest.register_alias("flowers:flower_"..flower.."_pot", "homedecor:potted_"..flower)
|
||||
minetest.register_alias("flowers:potted_"..flower, "homedecor:potted_"..flower)
|
||||
minetest.register_alias("flowers:flower_pot", "homedecor:flower_pot_small")
|
||||
end
|
||||
end
|
||||
|
||||
@@ -217,7 +217,7 @@ homedecor.register("fishtank", {
|
||||
key = "node_sound_glass_defaults",
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
core.set_node(pos, {name = "homedecor:fishtank_lighted", param2 = node.param2})
|
||||
minetest.set_node(pos, {name = "homedecor:fishtank_lighted", param2 = node.param2})
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
@@ -233,7 +233,7 @@ homedecor.register("fishtank_lighted", {
|
||||
"homedecor_fishtank_water_top_lighted.png",
|
||||
"homedecor_fishtank_sides_lighted.png",
|
||||
},
|
||||
light_source = core.LIGHT_MAX-4,
|
||||
light_source = minetest.LIGHT_MAX-4,
|
||||
use_texture_alpha = "blend",
|
||||
selection_box = ft_cbox,
|
||||
collision_box = ft_cbox,
|
||||
@@ -242,7 +242,7 @@ homedecor.register("fishtank_lighted", {
|
||||
key = "node_sound_glass_defaults",
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
core.set_node(pos, {name = "homedecor:fishtank", param2 = node.param2})
|
||||
minetest.set_node(pos, {name = "homedecor:fishtank", param2 = node.param2})
|
||||
return itemstack
|
||||
end,
|
||||
drop = "homedecor:fishtank",
|
||||
@@ -330,10 +330,10 @@ homedecor.register("pool_table", {
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
})
|
||||
|
||||
core.register_alias("homedecor:pool_table_2", "air")
|
||||
minetest.register_alias("homedecor:pool_table_2", "air")
|
||||
|
||||
local piano_cbox = {
|
||||
type = "fixed",
|
||||
@@ -356,11 +356,11 @@ homedecor.register("piano", {
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
})
|
||||
|
||||
core.register_alias("homedecor:piano_left", "homedecor:piano")
|
||||
core.register_alias("homedecor:piano_right", "air")
|
||||
minetest.register_alias("homedecor:piano_left", "homedecor:piano")
|
||||
minetest.register_alias("homedecor:piano_right", "air")
|
||||
|
||||
local tr_cbox = {
|
||||
type = "fixed",
|
||||
@@ -421,7 +421,7 @@ homedecor.register("skateboard", {
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
on_place = core.rotate_node
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
|
||||
homedecor_misc.banister_materials = {
|
||||
@@ -518,7 +518,7 @@ for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do
|
||||
|
||||
if name == "wood" then
|
||||
local nn = "homedecor:"..nodename
|
||||
local def2 = table.copy(core.registered_items[nn])
|
||||
local def2 = table.copy(minetest.registered_items[nn])
|
||||
def2.tiles = {
|
||||
homedecor.white_wood,
|
||||
homedecor.white_wood
|
||||
@@ -569,9 +569,9 @@ homedecor.register("spiral_staircase", {
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
local fdir = core.dir_to_facedir(placer:get_look_dir())
|
||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||
local leftx = homedecor.fdir_to_left[fdir+1][1]
|
||||
local leftz = homedecor.fdir_to_left[fdir+1][2]
|
||||
local revx = -homedecor.fdir_to_fwd[fdir+1][1]
|
||||
@@ -588,43 +588,43 @@ homedecor.register("spiral_staircase", {
|
||||
y = math.max(corner1.y, corner2.y),
|
||||
z = math.max(corner1.z, corner2.z) }
|
||||
|
||||
if #core.find_nodes_in_area(minp, maxp, "air") < 11 then
|
||||
core.set_node(pos, {name = "air"})
|
||||
core.chat_send_player(placer:get_player_name(), S("not enough space"))
|
||||
if #minetest.find_nodes_in_area(minp, maxp, "air") < 11 then
|
||||
minetest.set_node(pos, {name = "air"})
|
||||
minetest.chat_send_player(placer:get_player_name(), S("not enough space"))
|
||||
return true
|
||||
end
|
||||
|
||||
local belownode = core.get_node({ x = pos.x, y = pos.y - 1, z = pos.z })
|
||||
local belownode = minetest.get_node({ x = pos.x, y = pos.y - 1, z = pos.z })
|
||||
|
||||
if belownode and belownode.name == "homedecor:spiral_staircase" then
|
||||
local newpos = { x = pos.x, y = pos.y + 2, z = pos.z }
|
||||
core.set_node(pos, { name = "air" })
|
||||
core.set_node(newpos, { name = "homedecor:spiral_staircase", param2 = belownode.param2 })
|
||||
minetest.set_node(pos, { name = "air" })
|
||||
minetest.set_node(newpos, { name = "homedecor:spiral_staircase", param2 = belownode.param2 })
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
core.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack, pointed_thing)
|
||||
local belownode = core.get_node({ x = pos.x, y = pos.y - 1, z = pos.z })
|
||||
minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack, pointed_thing)
|
||||
local belownode = minetest.get_node({ x = pos.x, y = pos.y - 1, z = pos.z })
|
||||
|
||||
if newnode.name ~= "homedecor:spiral_staircase"
|
||||
and belownode
|
||||
and belownode.name == "homedecor:spiral_staircase" then
|
||||
core.set_node(pos, { name = "air" })
|
||||
minetest.set_node(pos, { name = "air" })
|
||||
|
||||
local newpos = { x = pos.x, y = pos.y + 2, z = pos.z }
|
||||
local checknode = core.get_node(newpos)
|
||||
local checknode = minetest.get_node(newpos)
|
||||
|
||||
if checknode and checknode.name == "air" then
|
||||
local fdir = core.dir_to_facedir(placer:get_look_dir())
|
||||
core.set_node(newpos, { name = newnode.name, param2 = fdir })
|
||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||
minetest.set_node(newpos, { name = newnode.name, param2 = fdir })
|
||||
else
|
||||
return true
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
core.register_node(":homedecor:tatami_mat", {
|
||||
minetest.register_node(":homedecor:tatami_mat", {
|
||||
tiles = {
|
||||
"homedecor_tatami.png",
|
||||
"homedecor_tatami.png",
|
||||
@@ -637,7 +637,6 @@ core.register_node(":homedecor:tatami_mat", {
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
groups = {snappy=3, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
@@ -671,7 +670,7 @@ homedecor.register("dartboard", {
|
||||
--
|
||||
-- Mostly my own code; overall template borrowed from game default
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:flower_pot_terracotta",
|
||||
recipe = {
|
||||
{ "homedecor:roof_tile_terracotta", homedecor.materials.dirt, "homedecor:roof_tile_terracotta" },
|
||||
@@ -679,7 +678,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:flower_pot_green",
|
||||
recipe = {
|
||||
{ "", "dye:dark_green", "" },
|
||||
@@ -688,7 +687,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:flower_pot_black",
|
||||
recipe = {
|
||||
{ homedecor.materials.dye_black, homedecor.materials.dye_black, homedecor.materials.dye_black },
|
||||
@@ -697,7 +696,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:ceiling_paint 20",
|
||||
recipe = {
|
||||
@@ -709,7 +708,7 @@ core.register_craft( {
|
||||
replacements = { { homedecor.materials.water_bucket,homedecor.materials.empty_bucket } }
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:ceiling_tile 10",
|
||||
recipe = {
|
||||
{ "", homedecor.materials.dye_white, "" },
|
||||
@@ -717,14 +716,14 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:drawer_small",
|
||||
recipe = {
|
||||
{ "group:wood", homedecor.materials.steel_ingot, "group:wood" },
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:drawer_small",
|
||||
burntime = 30,
|
||||
@@ -732,7 +731,7 @@ core.register_craft({
|
||||
|
||||
-- vertical poles/lampposts
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:pole_brass 4",
|
||||
recipe = {
|
||||
{ "", "basic_materials:brass_ingot", "" },
|
||||
@@ -741,7 +740,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:pole_wrought_iron 4",
|
||||
recipe = {
|
||||
{ homedecor.materials.iron_lump, },
|
||||
@@ -753,7 +752,7 @@ core.register_craft( {
|
||||
-- ===========================================================
|
||||
-- Recipes that require materials from wool (cotton alternate)
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:rug_small 8",
|
||||
recipe = {
|
||||
@@ -764,7 +763,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:rug_persian 8",
|
||||
recipe = {
|
||||
{ "", "wool:yellow", "" },
|
||||
@@ -775,7 +774,7 @@ core.register_craft( {
|
||||
|
||||
-- cotton versions:
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:rug_small 8",
|
||||
recipe = {
|
||||
@@ -786,7 +785,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:rug_persian 8",
|
||||
recipe = {
|
||||
{ "", "cotton:yellow", "" },
|
||||
@@ -797,13 +796,13 @@ core.register_craft( {
|
||||
|
||||
-- fuel recipes for same
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:rug_small",
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:rug_large 2",
|
||||
recipe = {
|
||||
@@ -812,13 +811,13 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:rug_large",
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:rug_persian",
|
||||
burntime = 30,
|
||||
@@ -826,7 +825,7 @@ core.register_craft({
|
||||
|
||||
-- more misc stuff here
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:fishtank",
|
||||
recipe = {
|
||||
{ "basic_materials:plastic_sheet", "homedecor:glowlight_small_cube", "basic_materials:plastic_sheet" },
|
||||
@@ -836,7 +835,7 @@ core.register_craft({
|
||||
replacements = { {homedecor.materials.water_bucket, homedecor.materials.empty_bucket} }
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:cardboard_box 2",
|
||||
recipe = {
|
||||
{ homedecor.materials.paper, "", homedecor.materials.paper },
|
||||
@@ -844,7 +843,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:cardboard_box_big 2",
|
||||
recipe = {
|
||||
{ homedecor.materials.paper, "", homedecor.materials.paper },
|
||||
@@ -855,7 +854,7 @@ core.register_craft({
|
||||
|
||||
-- japanese walls and mat
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:japanese_wall_top",
|
||||
recipe = {
|
||||
{"group:stick", homedecor.materials.paper},
|
||||
@@ -864,7 +863,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:japanese_wall_top",
|
||||
recipe = {
|
||||
{homedecor.materials.paper, "group:stick"},
|
||||
@@ -873,35 +872,35 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:japanese_wall_middle",
|
||||
recipe = {
|
||||
{"homedecor:japanese_wall_top"}
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:japanese_wall_bottom",
|
||||
recipe = {
|
||||
{"homedecor:japanese_wall_middle"}
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:japanese_wall_top",
|
||||
recipe = {
|
||||
{"homedecor:japanese_wall_bottom"}
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:tatami_mat",
|
||||
recipe = {
|
||||
{"farming:wheat", "farming:wheat", "farming:wheat"}
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:pool_table",
|
||||
recipe = {
|
||||
{ "wool:dark_green", "wool:dark_green", "wool:dark_green" },
|
||||
@@ -910,7 +909,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:dartboard",
|
||||
recipe = {
|
||||
{"dye:black", "basic_materials:plastic_sheet", "dye:white"},
|
||||
@@ -919,7 +918,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:piano",
|
||||
recipe = {
|
||||
{ "", "basic_materials:steel_wire", "building_blocks:hardwood" },
|
||||
@@ -928,14 +927,14 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:wall_shelf 2",
|
||||
recipe = {
|
||||
{ "homedecor:wood_table_small_square", "homedecor:curtainrod_wood", "homedecor:curtainrod_wood" },
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:trophy 3",
|
||||
recipe = {
|
||||
{ "default:gold_ingot","","default:gold_ingot" },
|
||||
@@ -944,7 +943,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:sportbench",
|
||||
recipe = {
|
||||
{ "stairs:slab_steelblock","basic_materials:steel_bar","stairs:slab_steelblock" },
|
||||
@@ -953,7 +952,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:skateboard",
|
||||
recipe = {
|
||||
{ "dye:yellow","dye:green","dye:blue" },
|
||||
@@ -962,7 +961,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:spiral_staircase",
|
||||
recipe = {
|
||||
{ "default:steelblock", "homedecor:pole_wrought_iron", "" },
|
||||
@@ -971,12 +970,12 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craftitem(":homedecor:flower_pot_small", {
|
||||
minetest.register_craftitem(":homedecor:flower_pot_small", {
|
||||
description = S("Small Flower Pot"),
|
||||
inventory_image = "homedecor_flowerpot_small_inv.png"
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:flower_pot_small",
|
||||
recipe = {
|
||||
{ "default:clay_brick", "", "default:clay_brick" },
|
||||
@@ -984,7 +983,7 @@ core.register_craft( {
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:flower_pot_small 3",
|
||||
recipe = { { "homedecor:flower_pot_terracotta" } }
|
||||
})
|
||||
@@ -997,7 +996,7 @@ for i in ipairs(homedecor_misc.banister_materials) do
|
||||
local dye1 = homedecor_misc.banister_materials[i][7]
|
||||
local dye2 = homedecor_misc.banister_materials[i][8]
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:banister_"..name.."_horizontal 2",
|
||||
recipe = {
|
||||
{ topmat, "", dye1 },
|
||||
@@ -1027,7 +1026,7 @@ local jp_cbox = {
|
||||
fixed = {-0.5, -0.5, 0, 0.5, 0.5, 0.0625},
|
||||
}
|
||||
|
||||
core.register_node(":homedecor:japanese_wall_top", {
|
||||
minetest.register_node(":homedecor:japanese_wall_top", {
|
||||
description = S("Japanese wall (top)"),
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_wall_japanese_top.obj",
|
||||
@@ -1038,7 +1037,6 @@ core.register_node(":homedecor:japanese_wall_top", {
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {snappy=3, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
selection_box = jp_cbox,
|
||||
collision_box = jp_cbox,
|
||||
@@ -1047,7 +1045,7 @@ core.register_node(":homedecor:japanese_wall_top", {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_node(":homedecor:japanese_wall_middle", {
|
||||
minetest.register_node(":homedecor:japanese_wall_middle", {
|
||||
description = S("Japanese wall"),
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_wall_japanese_middle.obj",
|
||||
@@ -1058,7 +1056,6 @@ core.register_node(":homedecor:japanese_wall_middle", {
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {snappy=3, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
selection_box = jp_cbox,
|
||||
collision_box = jp_cbox,
|
||||
@@ -1067,7 +1064,7 @@ core.register_node(":homedecor:japanese_wall_middle", {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_node(":homedecor:japanese_wall_bottom", {
|
||||
minetest.register_node(":homedecor:japanese_wall_bottom", {
|
||||
description = S("Japanese wall (bottom)"),
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_wall_japanese_bottom.obj",
|
||||
@@ -1078,7 +1075,6 @@ core.register_node(":homedecor:japanese_wall_bottom", {
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {snappy=3, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
selection_box = jp_cbox,
|
||||
collision_box = jp_cbox,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local S = core.get_translator("homedecor_office")
|
||||
local S = minetest.get_translator("homedecor_office")
|
||||
|
||||
homedecor.register("filing_cabinet", {
|
||||
description = S("Filing cabinet"),
|
||||
@@ -69,7 +69,7 @@ homedecor.register("desk", {
|
||||
}
|
||||
}
|
||||
})
|
||||
core.register_alias("homedecor:desk_r", "air")
|
||||
minetest.register_alias("homedecor:desk_r", "air")
|
||||
|
||||
local globe_cbox = {
|
||||
type = "fixed",
|
||||
@@ -132,7 +132,7 @@ homedecor.register("calendar", {
|
||||
},
|
||||
infotext = S("Date (right-click to update):\n@1", os.date("%Y-%m-%d")), -- ISO 8601 format
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local date = os.date("%Y-%m-%d")
|
||||
meta:set_string("infotext", S("Date (right-click to update):\n@1", date))
|
||||
return itemstack
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
local S = core.get_translator("homedecor_pictures_and_paintings")
|
||||
local S = minetest.get_translator("homedecor_pictures_and_paintings")
|
||||
|
||||
local wood_tex = homedecor.textures.wood.apple.planks
|
||||
local wood_tex = homedecor.textures.default_wood
|
||||
|
||||
local pframe_cbox = {
|
||||
type = "fixed",
|
||||
@@ -55,14 +55,14 @@ end
|
||||
|
||||
-- crafting
|
||||
|
||||
core.register_craftitem(":homedecor:blank_canvas", {
|
||||
minetest.register_craftitem(":homedecor:blank_canvas", {
|
||||
description = S("Blank Canvas"),
|
||||
inventory_image = "homedecor_blank_canvas.png"
|
||||
})
|
||||
|
||||
-- paintings
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:blank_canvas",
|
||||
recipe = {
|
||||
{ "", "group:stick", "" },
|
||||
@@ -142,7 +142,7 @@ for i,recipe in pairs(painting_patterns) do
|
||||
local item5 = homedecor.materials["dye_"..recipe[2][2]]
|
||||
local item6 = homedecor.materials["dye_"..recipe[2][3]]
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:painting_"..i,
|
||||
recipe = {
|
||||
{ item1, item2, item3 },
|
||||
@@ -158,7 +158,7 @@ local picture_dyes = {
|
||||
}
|
||||
|
||||
for i in ipairs(picture_dyes) do
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:picture_frame"..i,
|
||||
recipe = {
|
||||
{ homedecor.materials[picture_dyes[i][1]], homedecor.materials[picture_dyes[i][2]] },
|
||||
@@ -172,7 +172,7 @@ for i = 2,20 do
|
||||
table.insert(numbers, i)
|
||||
end
|
||||
|
||||
if core.get_modpath("i3") then
|
||||
if minetest.get_modpath("i3") then
|
||||
i3.compress("homedecor:painting_1", {
|
||||
replace = "1",
|
||||
by = numbers
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
local S = core.get_translator("homedecor_plasmascreen")
|
||||
local S = minetest.get_translator("homedecor_plasmascreen")
|
||||
|
||||
local sc_disallow = core.get_modpath("screwdriver") and screwdriver.disallow or nil
|
||||
local sc_disallow = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil
|
||||
|
||||
homedecor.register("tv_stand", {
|
||||
description = S("Plasma Screen TV Stand"),
|
||||
@@ -56,7 +56,7 @@ local tv_cbox = {
|
||||
|
||||
local function checkwall(pos)
|
||||
|
||||
local fdir = core.get_node(pos).param2
|
||||
local fdir = minetest.get_node(pos).param2
|
||||
|
||||
local dxl = fdir_to_left[fdir + 1][1] -- dxl = "[D]elta [X] [L]eft"
|
||||
local dzl = fdir_to_left[fdir + 1][2] -- Z left
|
||||
@@ -64,33 +64,33 @@ local function checkwall(pos)
|
||||
local dxr = fdir_to_right[fdir + 1][1] -- X right
|
||||
local dzr = fdir_to_right[fdir + 1][2] -- Z right
|
||||
|
||||
local node1 = core.get_node({x=pos.x+dxl, y=pos.y, z=pos.z+dzl})
|
||||
if not node1 or not core.registered_nodes[node1.name]
|
||||
or not core.registered_nodes[node1.name].buildable_to then
|
||||
local node1 = minetest.get_node({x=pos.x+dxl, y=pos.y, z=pos.z+dzl})
|
||||
if not node1 or not minetest.registered_nodes[node1.name]
|
||||
or not minetest.registered_nodes[node1.name].buildable_to then
|
||||
return false
|
||||
end
|
||||
|
||||
local node2 = core.get_node({x=pos.x+dxr, y=pos.y, z=pos.z+dzr})
|
||||
if not node2 or not core.registered_nodes[node2.name]
|
||||
or not core.registered_nodes[node2.name].buildable_to then
|
||||
local node2 = minetest.get_node({x=pos.x+dxr, y=pos.y, z=pos.z+dzr})
|
||||
if not node2 or not minetest.registered_nodes[node2.name]
|
||||
or not minetest.registered_nodes[node2.name].buildable_to then
|
||||
return false
|
||||
end
|
||||
|
||||
local node3 = core.get_node({x=pos.x+dxl, y=pos.y+1, z=pos.z+dzl})
|
||||
if not node3 or not core.registered_nodes[node3.name]
|
||||
or not core.registered_nodes[node3.name].buildable_to then
|
||||
local node3 = minetest.get_node({x=pos.x+dxl, y=pos.y+1, z=pos.z+dzl})
|
||||
if not node3 or not minetest.registered_nodes[node3.name]
|
||||
or not minetest.registered_nodes[node3.name].buildable_to then
|
||||
return false
|
||||
end
|
||||
|
||||
local node4 = core.get_node({x=pos.x, y=pos.y+1, z=pos.z})
|
||||
if not node4 or not core.registered_nodes[node4.name]
|
||||
or not core.registered_nodes[node4.name].buildable_to then
|
||||
local node4 = minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z})
|
||||
if not node4 or not minetest.registered_nodes[node4.name]
|
||||
or not minetest.registered_nodes[node4.name].buildable_to then
|
||||
return false
|
||||
end
|
||||
|
||||
local node5 = core.get_node({x=pos.x+dxr, y=pos.y+1, z=pos.z+dzr})
|
||||
if not node5 or not core.registered_nodes[node5.name]
|
||||
or not core.registered_nodes[node5.name].buildable_to then
|
||||
local node5 = minetest.get_node({x=pos.x+dxr, y=pos.y+1, z=pos.z+dzr})
|
||||
if not node5 or not minetest.registered_nodes[node5.name]
|
||||
or not minetest.registered_nodes[node5.name].buildable_to then
|
||||
return false
|
||||
end
|
||||
|
||||
@@ -124,12 +124,12 @@ homedecor.register("tv", {
|
||||
groups = {snappy=1, choppy=2, oddly_breakable_by_hand=2},
|
||||
after_place_node = function(pos, placer, itemstack)
|
||||
if not checkwall(pos) then
|
||||
core.set_node(pos, {name = "air"})
|
||||
minetest.set_node(pos, {name = "air"})
|
||||
return true -- "API: If return true no item is taken from itemstack"
|
||||
end
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
core.set_node(pos, {name = "homedecor:tv_off", param2 = node.param2})
|
||||
minetest.set_node(pos, {name = "homedecor:tv_off", param2 = node.param2})
|
||||
end,
|
||||
crafts = {
|
||||
{
|
||||
@@ -165,22 +165,24 @@ homedecor.register("tv_off", {
|
||||
groups = {snappy=1, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1},
|
||||
after_place_node = function(pos, placer, itemstack)
|
||||
if not checkwall(pos) then
|
||||
core.set_node(pos, {name = "air"})
|
||||
minetest.set_node(pos, {name = "air"})
|
||||
return true -- "API: If return true no item is taken from itemstack"
|
||||
end
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
core.set_node(pos, {name = "homedecor:tv", param2 = node.param2})
|
||||
minetest.set_node(pos, {name = "homedecor:tv", param2 = node.param2})
|
||||
end,
|
||||
drop = "homedecor:tv",
|
||||
})
|
||||
|
||||
core.register_alias("plasmascreen:screen1", "air")
|
||||
core.register_alias("plasmascreen:screen2", "air")
|
||||
core.register_alias("plasmascreen:screen3", "air")
|
||||
core.register_alias("plasmascreen:screen4", "air")
|
||||
core.register_alias("plasmascreen:screen6", "air")
|
||||
core.register_alias("plasmascreen:screen5", "homedecor:tv")
|
||||
core.register_alias("plasmascreen:stand", "homedecor:tv_stand")
|
||||
core.register_alias("plasmascreen:tv", "homedecor:tv")
|
||||
core.register_alias("plasmascreen:tv_off", "homedecor:tv_off")
|
||||
minetest.register_alias("plasmascreen:screen1", "air")
|
||||
minetest.register_alias("plasmascreen:screen2", "air")
|
||||
minetest.register_alias("plasmascreen:screen3", "air")
|
||||
minetest.register_alias("plasmascreen:screen4", "air")
|
||||
minetest.register_alias("plasmascreen:screen6", "air")
|
||||
minetest.register_alias("plasmascreen:screen5", "homedecor:tv")
|
||||
minetest.register_alias("plasmascreen:stand", "homedecor:tv_stand")
|
||||
minetest.register_alias("plasmascreen:tv", "homedecor:tv")
|
||||
minetest.register_alias("plasmascreen:tv_off", "homedecor:tv_off")
|
||||
|
||||
minetest.log("action", "[plasmascreen] loaded.")
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
local S = core.get_translator("homedecor_roofing")
|
||||
local S = minetest.get_translator("homedecor_roofing")
|
||||
|
||||
homedecor_roofing = {}
|
||||
|
||||
core.register_node(":homedecor:skylight", {
|
||||
minetest.register_node(":homedecor:skylight", {
|
||||
description = S("Glass Skylight"),
|
||||
drawtype = "raillike",
|
||||
tiles = { homedecor.textures.glass.pane },
|
||||
wield_image = homedecor.textures.glass.pane,
|
||||
tiles = { homedecor.textures.glass },
|
||||
wield_image = homedecor.textures.glass,
|
||||
inventory_image = "homedecor_skylight_inv.png",
|
||||
groups = { snappy = 3, dig_tree = 2 , axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
paramtype = "light",
|
||||
_sound_def = {
|
||||
@@ -19,7 +18,7 @@ core.register_node(":homedecor:skylight", {
|
||||
collision_box = homedecor.nodebox.slab_y(0.1),
|
||||
})
|
||||
|
||||
core.register_node(":homedecor:skylight_frosted", {
|
||||
minetest.register_node(":homedecor:skylight_frosted", {
|
||||
description = S("Glass Skylight Frosted"),
|
||||
drawtype = "raillike",
|
||||
tiles = { "homedecor_skylight_frosted.png" },
|
||||
@@ -27,7 +26,6 @@ core.register_node(":homedecor:skylight_frosted", {
|
||||
inventory_image = "homedecor_skylight_frosted_inv.png",
|
||||
use_texture_alpha = "blend",
|
||||
groups = { snappy = 3, dig_tree = 2, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
paramtype = "light",
|
||||
_sound_def = {
|
||||
@@ -38,7 +36,7 @@ core.register_node(":homedecor:skylight_frosted", {
|
||||
})
|
||||
|
||||
for s, s_loc in pairs({ ["asphalt"] = S("asphalt"), ["terracotta"] = S("terracotta"), ["wood"] = S("wood") }) do
|
||||
core.register_node(":homedecor:shingles_"..s, {
|
||||
minetest.register_node(":homedecor:shingles_"..s, {
|
||||
description = S("Shingles (@1)", s_loc),
|
||||
drawtype = "raillike",
|
||||
tiles = { "homedecor_shingles_"..s..".png" },
|
||||
@@ -47,7 +45,6 @@ for s, s_loc in pairs({ ["asphalt"] = S("asphalt"), ["terracotta"] = S("terracot
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
groups = { snappy = 3, dig_tree = 2, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
@@ -97,7 +94,7 @@ homedecor_roofing.register_outer_corner = function(modname, subname, groups, slo
|
||||
end
|
||||
groups.axey=5
|
||||
|
||||
core.register_node(":"..modname..":shingle_outer_corner_" .. subname, {
|
||||
minetest.register_node(":"..modname..":shingle_outer_corner_" .. subname, {
|
||||
description = S("@1 (outer corner)", description),
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_slope_outer_corner.obj",
|
||||
@@ -107,9 +104,8 @@ homedecor_roofing.register_outer_corner = function(modname, subname, groups, slo
|
||||
selection_box = ocorner_cbox,
|
||||
collision_box = ocorner_cbox,
|
||||
groups = groups,
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
on_place = core.rotate_node,
|
||||
on_place = minetest.rotate_node,
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
@@ -124,7 +120,7 @@ homedecor_roofing.register_inner_corner = function(modname, subname, groups, slo
|
||||
end
|
||||
groups.axey=5
|
||||
|
||||
core.register_node(":"..modname..":shingle_inner_corner_" .. subname, {
|
||||
minetest.register_node(":"..modname..":shingle_inner_corner_" .. subname, {
|
||||
description = S("@1 (inner corner)", description),
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_slope_inner_corner.obj",
|
||||
@@ -133,9 +129,8 @@ homedecor_roofing.register_inner_corner = function(modname, subname, groups, slo
|
||||
paramtype2 = "facedir",
|
||||
collision_box = icorner_cbox,
|
||||
groups = groups,
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
on_place = core.rotate_node,
|
||||
on_place = minetest.rotate_node,
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
@@ -150,7 +145,7 @@ homedecor_roofing.register_slope = function(modname, subname, recipeitem, groups
|
||||
end
|
||||
groups.axey=5
|
||||
|
||||
core.register_node(":"..modname..":shingle_side_" .. subname, {
|
||||
minetest.register_node(":"..modname..":shingle_side_" .. subname, {
|
||||
description = description,
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_slope.obj",
|
||||
@@ -159,11 +154,10 @@ homedecor_roofing.register_slope = function(modname, subname, recipeitem, groups
|
||||
paramtype2 = "facedir",
|
||||
selection_box = slope_cbox,
|
||||
collision_box = slope_cbox,
|
||||
use_texture_alpha = "clip",
|
||||
use_texture_alpha = "blend",
|
||||
groups = groups,
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
on_place = core.rotate_node,
|
||||
on_place = minetest.rotate_node,
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
@@ -171,14 +165,14 @@ homedecor_roofing.register_slope = function(modname, subname, recipeitem, groups
|
||||
|
||||
-- convert between flat shingles and slopes
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = modname..":shingle_side_"..subname.." 3",
|
||||
recipe = {
|
||||
{recipeitem, recipeitem, recipeitem}
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = recipeitem.." 3",
|
||||
recipe = {
|
||||
{modname..":shingle_side_"..subname, modname..":shingle_side_"..subname, modname..":shingle_side_"..subname},
|
||||
@@ -187,7 +181,7 @@ homedecor_roofing.register_slope = function(modname, subname, recipeitem, groups
|
||||
|
||||
-- craft outer corners
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = modname..":shingle_outer_corner_"..subname.." 3",
|
||||
recipe = {
|
||||
{ "", recipeitem, "" },
|
||||
@@ -195,7 +189,7 @@ homedecor_roofing.register_slope = function(modname, subname, recipeitem, groups
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = modname..":shingle_outer_corner_"..subname.." 3",
|
||||
recipe = {
|
||||
{ "", modname..":shingle_side_"..subname, "" },
|
||||
@@ -205,7 +199,7 @@ homedecor_roofing.register_slope = function(modname, subname, recipeitem, groups
|
||||
|
||||
-- craft inner corners
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = modname..":shingle_inner_corner_"..subname.." 3",
|
||||
recipe = {
|
||||
{recipeitem, recipeitem},
|
||||
@@ -213,7 +207,7 @@ homedecor_roofing.register_slope = function(modname, subname, recipeitem, groups
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = modname..":shingle_inner_corner_"..subname.." 3",
|
||||
recipe = {
|
||||
{modname..":shingle_side_"..subname, modname..":shingle_side_"..subname},
|
||||
@@ -222,60 +216,60 @@ homedecor_roofing.register_slope = function(modname, subname, recipeitem, groups
|
||||
})
|
||||
-- convert between flat shingles and inner/outer corners
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = recipeitem.." 1",
|
||||
recipe = { modname..":shingle_outer_corner_"..subname }
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = recipeitem.." 1",
|
||||
recipe = { modname..":shingle_inner_corner_"..subname }
|
||||
})
|
||||
end
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:shingle_side_glass",
|
||||
recipe = {
|
||||
{ "homedecor:skylight", "homedecor:skylight", "homedecor:skylight" }
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:roof_tile_terracotta 8",
|
||||
recipe = {
|
||||
{ "homedecor:shingle_outer_corner_terracotta", "homedecor:shingle_outer_corner_terracotta" }
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:roof_tile_terracotta 8",
|
||||
recipe = {
|
||||
{ "homedecor:shingle_inner_corner_terracotta", "homedecor:shingle_inner_corner_terracotta" }
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:roof_tile_terracotta 8",
|
||||
recipe = {
|
||||
{ "homedecor:shingle_side_terracotta", "homedecor:shingle_side_terracotta" }
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:shingle_inner_corner_wood",
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:shingle_outer_corner_wood",
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:shingle_side_wood",
|
||||
burntime = 30,
|
||||
@@ -336,7 +330,8 @@ homedecor_roofing.register_slope("homedecor", "glass",
|
||||
S("Glass Shingles")
|
||||
)
|
||||
|
||||
local brick_tex = homedecor.textures.brick
|
||||
local brick_tex = "default_brick.png"
|
||||
if not minetest.get_modpath("default") then brick_tex = "[combine:16x16^[noalpha^[colorize:#AA4A44" end
|
||||
|
||||
homedecor.register("chimney", {
|
||||
description = S("Chimney"),
|
||||
@@ -353,7 +348,7 @@ homedecor.register("chimney", {
|
||||
})
|
||||
|
||||
-- crafting
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:chimney 2",
|
||||
recipe = {
|
||||
{ "default:clay_brick", "", "default:clay_brick" },
|
||||
@@ -362,7 +357,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:skylight 4",
|
||||
recipe = {
|
||||
{ "homedecor:glass_table_large", "homedecor:glass_table_large" },
|
||||
@@ -370,7 +365,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:skylight_frosted",
|
||||
recipe = {
|
||||
@@ -379,7 +374,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "homedecor:skylight",
|
||||
recipe = "homedecor:skylight_frosted",
|
||||
@@ -387,7 +382,7 @@ core.register_craft({
|
||||
|
||||
-- recycling
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "vessels:glass_fragments 2",
|
||||
recipe = {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local S = core.get_translator("homedecor_seating")
|
||||
local S = minetest.get_translator("homedecor_seating")
|
||||
local armchair_cbox = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
@@ -7,7 +7,7 @@ local armchair_cbox = {
|
||||
}
|
||||
}
|
||||
|
||||
core.register_node(":lrfurn:armchair", {
|
||||
minetest.register_node(":lrfurn:armchair", {
|
||||
description = S("Armchair"),
|
||||
drawtype = "mesh",
|
||||
mesh = "lrfurn_armchair.obj",
|
||||
@@ -20,7 +20,6 @@ core.register_node(":lrfurn:armchair", {
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
inventory_image = "lrfurn_armchair_inv.png",
|
||||
groups = {snappy=3, ud_param2_colorable = 1, dig_tree=2, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
@@ -33,18 +32,16 @@ core.register_node(":lrfurn:armchair", {
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 1)
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
on_movenode = lrfurn.on_seat_movenode,
|
||||
end
|
||||
})
|
||||
|
||||
homedecor.register("armchair", {
|
||||
description = S("Armchair"),
|
||||
mesh = "forniture_armchair.obj",
|
||||
tiles = {
|
||||
homedecor.textures.wool.white,
|
||||
{ name = homedecor.textures.wool.dark_grey, color = 0xffffffff },
|
||||
{ name = homedecor.textures.wood.apple.planks, color = 0xffffffff }
|
||||
homedecor.textures.wool_white,
|
||||
{ name = homedecor.textures.wool_dark_grey, color = 0xffffffff },
|
||||
{ name = homedecor.textures.default_wood, color = 0xffffffff }
|
||||
},
|
||||
inventory_image = "homedecor_armchair_inv.png",
|
||||
paramtype2 = "colorwallmounted",
|
||||
@@ -61,14 +58,12 @@ homedecor.register("armchair", {
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 1)
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
on_movenode = lrfurn.on_seat_movenode,
|
||||
end
|
||||
})
|
||||
|
||||
-- crafts
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "lrfurn:armchair",
|
||||
recipe = {
|
||||
{"wool:white", "", "", },
|
||||
@@ -77,7 +72,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "lrfurn:armchair",
|
||||
recipe = {
|
||||
{"wool:white", "", "", },
|
||||
@@ -97,7 +92,7 @@ unifieddyes.register_color_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:armchair 2",
|
||||
recipe = {
|
||||
{ homedecor.materials.wool_white,""},
|
||||
@@ -117,13 +112,13 @@ unifieddyes.register_color_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:armchair",
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
core.register_alias('armchair', 'homedecor:armchair')
|
||||
minetest.register_alias('armchair', 'homedecor:armchair')
|
||||
|
||||
-- convert old static nodes to param2 color
|
||||
|
||||
@@ -133,7 +128,7 @@ for _, color in ipairs(lrfurn.colors) do
|
||||
table.insert(lrfurn.old_static_armchairs, "lrfurn:armchair_"..color)
|
||||
end
|
||||
|
||||
core.register_lbm({
|
||||
minetest.register_lbm({
|
||||
name = ":lrfurn:convert_armchairs",
|
||||
label = "Convert lrfurn armchairs to use param2 color",
|
||||
run_at_every_load = false,
|
||||
@@ -168,12 +163,12 @@ core.register_lbm({
|
||||
|
||||
local param2 = paletteidx + new_fdir
|
||||
|
||||
core.set_node(pos, { name = "lrfurn:armchair", param2 = param2 })
|
||||
local meta = core.get_meta(pos)
|
||||
minetest.set_node(pos, { name = "lrfurn:armchair", param2 = param2 })
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
end
|
||||
})
|
||||
|
||||
if core.settings:get("log_mods") then
|
||||
core.log("action", "[lrfurn/armchairs] Loaded!")
|
||||
if minetest.settings:get("log_mods") then
|
||||
minetest.log("action", "[lrfurn/armchairs] Loaded!")
|
||||
end
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
-- Home decor seating
|
||||
-- forked from the previous lrfurn mod
|
||||
|
||||
local S = core.get_translator("homedecor_seating")
|
||||
local modpath = core.get_modpath("homedecor_seating")
|
||||
local S = minetest.get_translator("homedecor_seating")
|
||||
local modpath = minetest.get_modpath("homedecor_seating")
|
||||
|
||||
lrfurn = {}
|
||||
|
||||
@@ -43,25 +43,25 @@ function lrfurn.check_right(pos, fdir, long, placer)
|
||||
y = pos.y, z = pos.z + lrfurn.fdir_to_right[fdir+1][2] * 2
|
||||
}
|
||||
|
||||
local node2 = core.get_node(pos2)
|
||||
local node2 = minetest.get_node(pos2)
|
||||
if node2 and node2.name ~= "air" then
|
||||
return false
|
||||
elseif core.is_protected(pos2, placer:get_player_name()) then
|
||||
elseif minetest.is_protected(pos2, placer:get_player_name()) then
|
||||
if not long then
|
||||
core.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where the other end goes!"))
|
||||
minetest.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where the other end goes!"))
|
||||
else
|
||||
core.chat_send_player(placer:get_player_name(),
|
||||
minetest.chat_send_player(placer:get_player_name(),
|
||||
S("Someone else owns the spot where the middle or far end goes!"))
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
if long then
|
||||
local node3 = core.get_node(pos3)
|
||||
local node3 = minetest.get_node(pos3)
|
||||
if node3 and node3.name ~= "air" then
|
||||
return false
|
||||
elseif core.is_protected(pos3, placer:get_player_name()) then
|
||||
core.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where the other end goes!"))
|
||||
elseif minetest.is_protected(pos3, placer:get_player_name()) then
|
||||
minetest.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where the other end goes!"))
|
||||
return false
|
||||
end
|
||||
end
|
||||
@@ -70,75 +70,18 @@ function lrfurn.check_right(pos, fdir, long, placer)
|
||||
end
|
||||
|
||||
function lrfurn.fix_sofa_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
||||
local node = core.get_node(pos)
|
||||
local node = minetest.get_node(pos)
|
||||
local colorbits = node.param2 - (node.param2 % 8)
|
||||
local yaw = placer:get_look_horizontal()
|
||||
local dir = core.yaw_to_dir(yaw)
|
||||
local fdir = core.dir_to_wallmounted(dir)
|
||||
core.swap_node(pos, { name = node.name, param2 = fdir+colorbits })
|
||||
local dir = minetest.yaw_to_dir(yaw)
|
||||
local fdir = minetest.dir_to_wallmounted(dir)
|
||||
minetest.swap_node(pos, { name = node.name, param2 = fdir+colorbits })
|
||||
end
|
||||
|
||||
local seated_cache = {}
|
||||
local offset_cache = {}
|
||||
|
||||
core.register_entity("homedecor_seating:seat", {
|
||||
initial_properties = {
|
||||
visual = "cube",
|
||||
--comment out the following when testing so you can see it
|
||||
textures = {"blank.png", "blank.png", "blank.png", "blank.png", "blank.png", "blank.png"},
|
||||
collisionbox = { -0.01, -0.01, -0.01, 0.01, 0.01, 0.01 },
|
||||
selectionbox = { -0.01, -0.01, -0.01, 0.01, 0.01, 0.01, rotate = false },
|
||||
static_save = false,
|
||||
},
|
||||
on_punch = function(self)
|
||||
self.object:remove()
|
||||
end,
|
||||
})
|
||||
|
||||
--we only care about 4 rotations, but just in case someone worldedits, etc - do something other than crash
|
||||
--radians are stupid, using degrees and then converting
|
||||
local p2r = {
|
||||
0*math.pi/180,
|
||||
0*math.pi/180, --correct
|
||||
180*math.pi/180, --correct
|
||||
90*math.pi/180, --correct
|
||||
270*math.pi/180, --correct
|
||||
0*math.pi/180,
|
||||
0*math.pi/180,
|
||||
0*math.pi/180,
|
||||
}
|
||||
p2r[0] = p2r[1]
|
||||
|
||||
local p2r_sofa = {
|
||||
0*math.pi/180,
|
||||
90*math.pi/180, --correct
|
||||
270*math.pi/180, --correct
|
||||
180*math.pi/180, --correct
|
||||
0*math.pi/180, --correct
|
||||
0*math.pi/180,
|
||||
0*math.pi/180,
|
||||
0*math.pi/180,
|
||||
}
|
||||
p2r_sofa[0] = p2r_sofa[1]
|
||||
|
||||
local p2r_facedir = {
|
||||
[0] = 180*math.pi/180,
|
||||
[1] = 90*math.pi/180,
|
||||
[2] = 0*math.pi/180,
|
||||
[3] = 270*math.pi/180,
|
||||
}
|
||||
|
||||
function lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, seats)
|
||||
if not clicker:is_player() then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
local name = clicker:get_player_name()
|
||||
if seated_cache[name] then --already sitting
|
||||
lrfurn.stand(clicker)
|
||||
return itemstack
|
||||
end
|
||||
|
||||
--conversion table for param2 to dir
|
||||
local p2d = {
|
||||
vector.new(0, 0, 0),
|
||||
@@ -151,121 +94,40 @@ function lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, seats)
|
||||
}
|
||||
|
||||
--generate posible seat positions
|
||||
local valid_seats = {[core.hash_node_position(pos)] = pos}
|
||||
local valid_seats = {[minetest.hash_node_position(pos)] = pos}
|
||||
if seats > 1 then
|
||||
for i=1,seats-1 do
|
||||
--since this are hardware colored nodes, node.param2 gives us a actual param to get a dir from
|
||||
local npos = vector.add(pos, vector.multiply(p2d[node.param2 % 8], i))
|
||||
valid_seats[core.hash_node_position(npos)] = npos
|
||||
valid_seats[minetest.hash_node_position(npos)] = npos
|
||||
end
|
||||
end
|
||||
|
||||
--see if we can find a non occupied seat
|
||||
local sit_pos
|
||||
local sit_hash
|
||||
for hash, spos in pairs(valid_seats) do
|
||||
local pstatus = false
|
||||
for _, ref in pairs(core.get_objects_inside_radius(spos, 0.5)) do
|
||||
if ref:is_player() and seated_cache[ref:get_player_name()] then
|
||||
for _, ref in pairs(minetest.get_objects_inside_radius(spos, 0.5)) do
|
||||
if ref:is_player() then
|
||||
pstatus = true
|
||||
end
|
||||
end
|
||||
if not pstatus then
|
||||
sit_pos = spos
|
||||
sit_hash = hash
|
||||
break;
|
||||
end
|
||||
if not pstatus then sit_pos = spos end
|
||||
end
|
||||
if not sit_pos then
|
||||
core.chat_send_player(name, "sorry, this seat is currently occupied")
|
||||
minetest.chat_send_player(clicker:get_player_name(), "sorry, this seat is currently occupied")
|
||||
return itemstack
|
||||
end
|
||||
|
||||
--seat the player
|
||||
sit_pos.y = sit_pos.y-0.5
|
||||
clicker:set_pos(sit_pos)
|
||||
|
||||
local entity = core.add_entity(sit_pos, "homedecor_seating:seat")
|
||||
if not entity then return itemstack end --catch for when the entity fails to spawn just in case
|
||||
|
||||
clicker:set_attach(entity, "", {x = 0, y = 0, z = 0}, {x = 0, y = 0, z = 0}, true)
|
||||
local nodedef = core.registered_nodes[node.name]
|
||||
if nodedef.paramtype2 == "facedir" then
|
||||
entity:set_rotation({x = 0, y = p2r_facedir[node.param2 % 4], z = 0})
|
||||
elseif string.find(node.name, "sofa") then
|
||||
entity:set_rotation({x = 0, y = p2r_sofa[node.param2 % 8], z = 0})
|
||||
else
|
||||
entity:set_rotation({x = 0, y = p2r[node.param2 % 8], z = 0})
|
||||
end
|
||||
|
||||
xcompat.player.player_attached[name] = true
|
||||
xcompat.player.set_animation(clicker, "sit", 0)
|
||||
seated_cache[name] = core.hash_node_position(pos)
|
||||
if seated_cache[name] ~= sit_hash then
|
||||
offset_cache[name] = core.hash_node_position(vector.subtract(pos, sit_pos))
|
||||
end
|
||||
|
||||
return itemstack
|
||||
end
|
||||
|
||||
function lrfurn.stand(clicker)
|
||||
local name = clicker:get_player_name()
|
||||
xcompat.player.player_attached[name] = false
|
||||
if seated_cache[name] then
|
||||
local attached_to = clicker:get_attach()
|
||||
-- Check, clearobjects might have been called, etc
|
||||
if attached_to then
|
||||
-- Removing also detaches
|
||||
attached_to:remove()
|
||||
end
|
||||
seated_cache[name] = nil
|
||||
offset_cache[name] = nil
|
||||
end
|
||||
end
|
||||
|
||||
-- Called when a seat is destroyed
|
||||
function lrfurn.on_seat_destruct(pos)
|
||||
for name, seatpos in pairs(seated_cache) do
|
||||
if seatpos == core.hash_node_position(pos) then
|
||||
local player = core.get_player_by_name(name)
|
||||
if player then
|
||||
lrfurn.stand(player)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function lrfurn.on_seat_movenode(from_pos, to_pos)
|
||||
local hashed_from_pos = core.hash_node_position(from_pos)
|
||||
local hashed_to_pos = core.hash_node_position(to_pos)
|
||||
for name, seatpos in pairs(seated_cache) do
|
||||
if seatpos == hashed_from_pos then
|
||||
local player = core.get_player_by_name(name)
|
||||
if player then
|
||||
local attached_to = player:get_attach()
|
||||
-- Check, clearobjects might have been called, etc
|
||||
if attached_to then
|
||||
if offset_cache[name] then
|
||||
-- multi-seat node aka sofas
|
||||
attached_to:set_pos(vector.subtract(to_pos,
|
||||
core.get_position_from_hash(offset_cache[name])))
|
||||
else
|
||||
attached_to:set_pos(to_pos)
|
||||
end
|
||||
seated_cache[name] = hashed_to_pos
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--if the player gets killed in the seat, handle it
|
||||
core.register_on_dieplayer(function(player)
|
||||
if seated_cache[player:get_player_name()] then
|
||||
lrfurn.stand(player)
|
||||
end
|
||||
end)
|
||||
|
||||
dofile(modpath.."/longsofas.lua")
|
||||
dofile(modpath.."/sofas.lua")
|
||||
dofile(modpath.."/armchairs.lua")
|
||||
dofile(modpath.."/misc.lua")
|
||||
|
||||
minetest.log("action", "[homedecor_seating] loaded.")
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
local S = core.get_translator("homedecor_seating")
|
||||
local S = minetest.get_translator("homedecor_seating")
|
||||
|
||||
local longsofa_cbox = {
|
||||
type = "wallmounted",
|
||||
wall_side = {-0.5, -0.5, -0.5, 0.5, 0.5, 2.5},
|
||||
}
|
||||
|
||||
core.register_node(":lrfurn:longsofa", {
|
||||
minetest.register_node(":lrfurn:longsofa", {
|
||||
description = S("Long Sofa"),
|
||||
drawtype = "mesh",
|
||||
mesh = "lrfurn_sofa_long.obj",
|
||||
@@ -19,40 +19,37 @@ core.register_node(":lrfurn:longsofa", {
|
||||
inventory_image = "lrfurn_longsofa_inv.png",
|
||||
wield_scale = { x = 0.6, y = 0.6, z = 0.6 },
|
||||
groups = {snappy=3, ud_param2_colorable = 1, dig_tree=2, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
selection_box = longsofa_cbox,
|
||||
node_box = longsofa_cbox,
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
lrfurn.fix_sofa_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
||||
local playername = placer:get_player_name()
|
||||
if core.is_protected(pos, placer:get_player_name()) then return true end
|
||||
if minetest.is_protected(pos, placer:get_player_name()) then return true end
|
||||
|
||||
local fdir = core.dir_to_facedir(placer:get_look_dir(), false)
|
||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir(), false)
|
||||
|
||||
if lrfurn.check_right(pos, fdir, true, placer) then
|
||||
if not core.is_creative_enabled(playername) then
|
||||
if not minetest.is_creative_enabled(playername) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
else
|
||||
core.chat_send_player(placer:get_player_name(), S("No room to place the sofa!"))
|
||||
core.set_node(pos, { name = "air" })
|
||||
minetest.chat_send_player(placer:get_player_name(), S("No room to place the sofa!"))
|
||||
minetest.set_node(pos, { name = "air" })
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_dig = unifieddyes.on_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 3)
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
on_movenode = lrfurn.on_seat_movenode,
|
||||
end
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "lrfurn:longsofa",
|
||||
recipe = {
|
||||
{homedecor.materials.wool_white, homedecor.materials.wool_white, homedecor.materials.wool_white, },
|
||||
@@ -61,7 +58,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "lrfurn:longsofa",
|
||||
recipe = {
|
||||
{homedecor.materials.wool_white, homedecor.materials.wool_white, homedecor.materials.wool_white, },
|
||||
@@ -89,7 +86,7 @@ for _, color in ipairs(lrfurn.colors) do
|
||||
table.insert(lrfurn.old_static_longsofas, "lrfurn:longsofa_"..color)
|
||||
end
|
||||
|
||||
core.register_lbm({
|
||||
minetest.register_lbm({
|
||||
name = ":lrfurn:convert_longsofas",
|
||||
label = "Convert lrfurn long sofas to use param2 color",
|
||||
run_at_every_load = false,
|
||||
@@ -124,13 +121,13 @@ core.register_lbm({
|
||||
|
||||
local param2 = paletteidx + new_fdir
|
||||
|
||||
core.set_node(pos, { name = "lrfurn:longsofa", param2 = param2 })
|
||||
local meta = core.get_meta(pos)
|
||||
minetest.set_node(pos, { name = "lrfurn:longsofa", param2 = param2 })
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
|
||||
end
|
||||
})
|
||||
|
||||
if core.settings:get("log_mods") then
|
||||
core.log("action", "[lrfurn/longsofas] Loaded!")
|
||||
if minetest.settings:get("log_mods") then
|
||||
minetest.log("action", "[lrfurn/longsofas] Loaded!")
|
||||
end
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- this component contains all of the random types of seating previously
|
||||
-- scattered among homedecor's other mods
|
||||
|
||||
local S = core.get_translator("homedecor_seating")
|
||||
local S = minetest.get_translator("homedecor_seating")
|
||||
|
||||
local dc_cbox = {
|
||||
type = "fixed",
|
||||
@@ -19,16 +19,14 @@ homedecor.register("deckchair", {
|
||||
},
|
||||
selection_box = dc_cbox,
|
||||
collision_box = dc_cbox,
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 1)
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
on_movenode = lrfurn.on_seat_movenode,
|
||||
end
|
||||
})
|
||||
|
||||
core.register_alias("homedecor:deckchair_foot", "homedecor:deckchair")
|
||||
core.register_alias("homedecor:deckchair_head", "air")
|
||||
minetest.register_alias("homedecor:deckchair_foot", "homedecor:deckchair")
|
||||
minetest.register_alias("homedecor:deckchair_head", "air")
|
||||
|
||||
homedecor.register("deckchair_striped_blue", {
|
||||
mesh = "homedecor_deckchair.obj",
|
||||
@@ -41,12 +39,10 @@ homedecor.register("deckchair_striped_blue", {
|
||||
},
|
||||
selection_box = dc_cbox,
|
||||
collision_box = dc_cbox,
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 1)
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
on_movenode = lrfurn.on_seat_movenode,
|
||||
end
|
||||
})
|
||||
|
||||
homedecor.register("simple_bench", {
|
||||
@@ -66,9 +62,7 @@ homedecor.register("simple_bench", {
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 1)
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
on_movenode = lrfurn.on_seat_movenode,
|
||||
end
|
||||
})
|
||||
|
||||
local bl1_sbox = {
|
||||
@@ -99,11 +93,11 @@ homedecor.register("bench_large_1", {
|
||||
},
|
||||
selection_box = bl1_sbox,
|
||||
node_box = bl1_cbox,
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
})
|
||||
|
||||
core.register_alias("homedecor:bench_large_1_left", "homedecor:bench_large_1")
|
||||
core.register_alias("homedecor:bench_large_1_right", "air")
|
||||
minetest.register_alias("homedecor:bench_large_1_left", "homedecor:bench_large_1")
|
||||
minetest.register_alias("homedecor:bench_large_1_right", "air")
|
||||
|
||||
local bl2_sbox = {
|
||||
type = "fixed",
|
||||
@@ -130,11 +124,11 @@ homedecor.register("bench_large_2", {
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
})
|
||||
|
||||
core.register_alias("homedecor:bench_large_2_left", "homedecor:bench_large_2")
|
||||
core.register_alias("homedecor:bench_large_2_right", "air")
|
||||
minetest.register_alias("homedecor:bench_large_2_left", "homedecor:bench_large_2")
|
||||
minetest.register_alias("homedecor:bench_large_2_right", "air")
|
||||
|
||||
local kc_cbox = {
|
||||
type = "fixed",
|
||||
@@ -160,9 +154,7 @@ homedecor.register("kitchen_chair_wood", {
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 1)
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
on_movenode = lrfurn.on_seat_movenode,
|
||||
end
|
||||
})
|
||||
|
||||
homedecor.register("kitchen_chair_padded", {
|
||||
@@ -170,7 +162,7 @@ homedecor.register("kitchen_chair_padded", {
|
||||
mesh = "homedecor_kitchen_chair.obj",
|
||||
tiles = {
|
||||
homedecor.plain_wood,
|
||||
homedecor.textures.wool.white,
|
||||
homedecor.textures.wool_white,
|
||||
},
|
||||
inventory_image = "homedecor_chair_padded_inv.png",
|
||||
paramtype2 = "colorwallmounted",
|
||||
@@ -188,9 +180,7 @@ homedecor.register("kitchen_chair_padded", {
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 1)
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
on_movenode = lrfurn.on_seat_movenode,
|
||||
end
|
||||
})
|
||||
|
||||
local ofchairs_sbox = {
|
||||
@@ -226,18 +216,16 @@ for _, c in pairs(chairs) do
|
||||
selection_box = ofchairs_sbox,
|
||||
collision_box = ofchairs_cbox,
|
||||
expand = { top = "placeholder" },
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 1)
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
on_movenode = lrfurn.on_seat_movenode,
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
-- crafts!
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:bench_large_1",
|
||||
recipe = {
|
||||
{ "group:wood", "group:wood", "group:wood" },
|
||||
@@ -246,7 +234,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:bench_large_2_left",
|
||||
recipe = {
|
||||
{ "homedecor:shutter_oak", "homedecor:shutter_oak", "homedecor:shutter_oak" },
|
||||
@@ -255,7 +243,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:bench_large_2_left",
|
||||
recipe = {
|
||||
{ "homedecor:shutter_oak", "homedecor:shutter_oak", "homedecor:shutter_oak" },
|
||||
@@ -264,7 +252,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:simple_bench",
|
||||
recipe = {
|
||||
{ homedecor.materials.slab_wood, homedecor.materials.slab_wood, homedecor.materials.slab_wood },
|
||||
@@ -272,7 +260,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:simple_bench",
|
||||
recipe = {
|
||||
{ "moreblocks:slab_wood", "moreblocks:slab_wood", "moreblocks:slab_wood" },
|
||||
@@ -281,7 +269,7 @@ core.register_craft( {
|
||||
})
|
||||
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:deckchair",
|
||||
recipe = {
|
||||
{ "group:stick", "building_blocks:terrycloth_towel", "group:stick" },
|
||||
@@ -290,7 +278,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:deckchair_striped_blue",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
@@ -299,7 +287,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:kitchen_chair_wood 2",
|
||||
recipe = {
|
||||
{ "group:stick",""},
|
||||
@@ -308,7 +296,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:kitchen_chair_padded",
|
||||
recipe = {
|
||||
@@ -328,20 +316,20 @@ unifieddyes.register_color_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:kitchen_chair_wood",
|
||||
burntime = 15,
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:kitchen_chair_padded",
|
||||
burntime = 15,
|
||||
})
|
||||
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:office_chair_basic",
|
||||
recipe = {
|
||||
{ "", "", homedecor.materials.wool_black },
|
||||
@@ -350,7 +338,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:office_chair_upscale",
|
||||
recipe = {
|
||||
{ homedecor.materials.dye_black, "building_blocks:sticks", "group:wool" },
|
||||
@@ -361,5 +349,5 @@ core.register_craft({
|
||||
|
||||
-- aliases
|
||||
|
||||
core.register_alias("3dforniture:chair", "homedecor:chair")
|
||||
core.register_alias('chair', 'homedecor:chair')
|
||||
minetest.register_alias("3dforniture:chair", "homedecor:chair")
|
||||
minetest.register_alias('chair', 'homedecor:chair')
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
local S = core.get_translator("homedecor_seating")
|
||||
local S = minetest.get_translator("homedecor_seating")
|
||||
|
||||
local sofa_cbox = {
|
||||
type = "wallmounted",
|
||||
wall_side = {-0.5, -0.5, -0.5, 0.5, 0.5, 1.5}
|
||||
}
|
||||
|
||||
core.register_node(":lrfurn:sofa", {
|
||||
minetest.register_node(":lrfurn:sofa", {
|
||||
description = S("Sofa"),
|
||||
drawtype = "mesh",
|
||||
mesh = "lrfurn_sofa_short.obj",
|
||||
@@ -19,40 +19,37 @@ core.register_node(":lrfurn:sofa", {
|
||||
inventory_image = "lrfurn_sofa_inv.png",
|
||||
wield_scale = { x = 0.6, y = 0.6, z = 0.6 },
|
||||
groups = {snappy=3, ud_param2_colorable = 1, dig_tree=2, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
},
|
||||
selection_box = sofa_cbox,
|
||||
node_box = sofa_cbox,
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
lrfurn.fix_sofa_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
||||
local playername = placer:get_player_name()
|
||||
if core.is_protected(pos, placer:get_player_name()) then return true end
|
||||
if minetest.is_protected(pos, placer:get_player_name()) then return true end
|
||||
|
||||
local fdir = core.dir_to_facedir(placer:get_look_dir(), false)
|
||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir(), false)
|
||||
|
||||
if lrfurn.check_right(pos, fdir, false, placer) then
|
||||
if not core.is_creative_enabled(playername) then
|
||||
if not minetest.is_creative_enabled(playername) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
else
|
||||
core.chat_send_player(placer:get_player_name(), S("No room to place the sofa!"))
|
||||
core.set_node(pos, { name = "air" })
|
||||
minetest.chat_send_player(placer:get_player_name(), S("No room to place the sofa!"))
|
||||
minetest.set_node(pos, { name = "air" })
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_dig = unifieddyes.on_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 2)
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
on_movenode = lrfurn.on_seat_movenode,
|
||||
end
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "lrfurn:sofa",
|
||||
recipe = {
|
||||
{homedecor.materials.wool_white, homedecor.materials.wool_white, "", },
|
||||
@@ -61,7 +58,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "lrfurn:sofa",
|
||||
recipe = {
|
||||
{homedecor.materials.wool_white, homedecor.materials.wool_white, "", },
|
||||
@@ -89,7 +86,7 @@ for _, color in ipairs(lrfurn.colors) do
|
||||
table.insert(lrfurn.old_static_sofas, "lrfurn:sofa_"..color)
|
||||
end
|
||||
|
||||
core.register_lbm({
|
||||
minetest.register_lbm({
|
||||
name = ":lrfurn:convert_sofas",
|
||||
label = "Convert lrfurn short sofas to use param2 color",
|
||||
run_at_every_load = false,
|
||||
@@ -124,13 +121,13 @@ core.register_lbm({
|
||||
|
||||
local param2 = paletteidx + new_fdir
|
||||
|
||||
core.set_node(pos, { name = "lrfurn:sofa", param2 = param2 })
|
||||
local meta = core.get_meta(pos)
|
||||
minetest.set_node(pos, { name = "lrfurn:sofa", param2 = param2 })
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
|
||||
end
|
||||
})
|
||||
|
||||
if core.settings:get("log_mods") then
|
||||
core.log("action", "[lrfurn/sofas] Loaded!")
|
||||
if minetest.settings:get("log_mods") then
|
||||
minetest.log("action", "[lrfurn/sofas] Loaded!")
|
||||
end
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
-- formerly lrfurn coffee table component
|
||||
|
||||
local S = core.get_translator("homedecor_tables")
|
||||
local S = minetest.get_translator("homedecor_tables")
|
||||
|
||||
local fdir_to_right = {
|
||||
{ 1, 0 },
|
||||
@@ -15,25 +15,25 @@ local function check_right(pos, fdir, long, placer)
|
||||
local pos2 = { x = pos.x + fdir_to_right[fdir+1][1], y=pos.y, z = pos.z + fdir_to_right[fdir+1][2] }
|
||||
local pos3 = { x = pos.x + fdir_to_right[fdir+1][1] * 2, y=pos.y, z = pos.z + fdir_to_right[fdir+1][2] * 2 }
|
||||
|
||||
local node2 = core.get_node(pos2)
|
||||
local node2 = minetest.get_node(pos2)
|
||||
if node2 and node2.name ~= "air" then
|
||||
return false
|
||||
elseif core.is_protected(pos2, placer:get_player_name()) then
|
||||
elseif minetest.is_protected(pos2, placer:get_player_name()) then
|
||||
if not long then
|
||||
core.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where the other end goes!"))
|
||||
minetest.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where the other end goes!"))
|
||||
else
|
||||
core.chat_send_player(placer:get_player_name(),
|
||||
minetest.chat_send_player(placer:get_player_name(),
|
||||
S("Someone else owns the spot where the middle or far end goes!"))
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
if long then
|
||||
local node3 = core.get_node(pos3)
|
||||
local node3 = minetest.get_node(pos3)
|
||||
if node3 and node3.name ~= "air" then
|
||||
return false
|
||||
elseif core.is_protected(pos3, placer:get_player_name()) then
|
||||
core.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where the other end goes!"))
|
||||
elseif minetest.is_protected(pos3, placer:get_player_name()) then
|
||||
minetest.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where the other end goes!"))
|
||||
return false
|
||||
end
|
||||
end
|
||||
@@ -41,10 +41,10 @@ local function check_right(pos, fdir, long, placer)
|
||||
return true
|
||||
end
|
||||
|
||||
core.register_alias("lrfurn:coffeetable_back", "lrfurn:coffeetable")
|
||||
core.register_alias("lrfurn:coffeetable_front", "air")
|
||||
minetest.register_alias("lrfurn:coffeetable_back", "lrfurn:coffeetable")
|
||||
minetest.register_alias("lrfurn:coffeetable_front", "air")
|
||||
|
||||
core.register_node(":lrfurn:coffeetable", {
|
||||
minetest.register_node(":lrfurn:coffeetable", {
|
||||
description = S("Coffee Table"),
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
@@ -57,9 +57,8 @@ core.register_node(":lrfurn:coffeetable", {
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
use_texture_alpha = "clip",
|
||||
use_texture_alpha = "blend",
|
||||
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
@@ -84,22 +83,22 @@ core.register_node(":lrfurn:coffeetable", {
|
||||
},
|
||||
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
if core.is_protected(pos, placer:get_player_name()) then return true end
|
||||
local node = core.get_node(pos)
|
||||
if minetest.is_protected(pos, placer:get_player_name()) then return true end
|
||||
local node = minetest.get_node(pos)
|
||||
local fdir = node.param2
|
||||
|
||||
if check_right(pos, fdir, false, placer) then
|
||||
core.set_node(pos, { name = node.name, param2 = (fdir + 1) % 4 })
|
||||
minetest.set_node(pos, { name = node.name, param2 = (fdir + 1) % 4 })
|
||||
else
|
||||
core.chat_send_player(placer:get_player_name(),
|
||||
minetest.chat_send_player(placer:get_player_name(),
|
||||
S("No room to place the coffee table!"))
|
||||
core.set_node(pos, {name = "air"})
|
||||
minetest.set_node(pos, {name = "air"})
|
||||
return true
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "lrfurn:coffeetable",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
@@ -108,7 +107,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "lrfurn:coffeetable",
|
||||
recipe = {
|
||||
{"", "", "", },
|
||||
@@ -117,7 +116,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "lrfurn:coffeetable",
|
||||
recipe = {
|
||||
{"", "", "", },
|
||||
@@ -126,6 +125,6 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
if core.settings:get("log_mods") then
|
||||
core.log("action", "[lrfurn/coffeetable] Loaded!")
|
||||
if minetest.settings:get("log_mods") then
|
||||
minetest.log("action", "[lrfurn/coffeetable] Loaded!")
|
||||
end
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
-- formerly lrfurn endtable component
|
||||
|
||||
local S = core.get_translator("homedecor_tables")
|
||||
local S = minetest.get_translator("homedecor_tables")
|
||||
|
||||
core.register_node(":lrfurn:endtable", {
|
||||
minetest.register_node(":lrfurn:endtable", {
|
||||
description = S("End Table"),
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
@@ -15,9 +15,8 @@ core.register_node(":lrfurn:endtable", {
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
use_texture_alpha = "clip",
|
||||
use_texture_alpha = "blend",
|
||||
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
@@ -43,7 +42,7 @@ core.register_node(":lrfurn:endtable", {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "lrfurn:endtable",
|
||||
recipe = {
|
||||
{"", "", "", },
|
||||
@@ -52,7 +51,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "lrfurn:endtable",
|
||||
recipe = {
|
||||
{"", "", "", },
|
||||
@@ -61,6 +60,6 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
if core.settings:get("log_mods") then
|
||||
core.log("action", "[lrfurn/endtable] Loaded!")
|
||||
if minetest.settings:get("log_mods") then
|
||||
minetest.log("action", "[lrfurn/endtable] Loaded!")
|
||||
end
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local modpath = core.get_modpath("homedecor_tables")
|
||||
local modpath = minetest.get_modpath("homedecor_tables")
|
||||
|
||||
dofile(modpath.."/misc.lua")
|
||||
dofile(modpath.."/endtable.lua")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
-- formerly homedecor's misc tables component
|
||||
|
||||
local S = core.get_translator("homedecor_tables")
|
||||
local S = minetest.get_translator("homedecor_tables")
|
||||
|
||||
-- Various kinds of table legs
|
||||
|
||||
@@ -34,7 +34,7 @@ for _, t in ipairs(leg_materials) do
|
||||
inventory_image = "homedecor_table_legs_"..name..".png",
|
||||
wield_image = "homedecor_table_legs_"..name..".png",
|
||||
walkable = false,
|
||||
use_texture_alpha = "clip",
|
||||
use_texture_alpha = "blend",
|
||||
groups = {snappy=3, dig_tree=2},
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
@@ -46,8 +46,8 @@ for _, t in ipairs(leg_materials) do
|
||||
})
|
||||
end
|
||||
|
||||
core.register_alias("homedecor:utility_table_legs", "homedecor:table_legs_wood")
|
||||
core.register_alias("homedecor:utility_table_top", "homedecor:wood_table_small_square")
|
||||
minetest.register_alias("homedecor:utility_table_legs", "homedecor:table_legs_wood")
|
||||
minetest.register_alias("homedecor:utility_table_top", "homedecor:wood_table_small_square")
|
||||
|
||||
-- table tops and combined tables
|
||||
|
||||
@@ -74,12 +74,12 @@ for i, mat in ipairs(tabletop_materials) do
|
||||
tiles = {
|
||||
'homedecor_'..m..'_table_'..shape..'.png',
|
||||
'homedecor_'..m..'_table_edges.png',
|
||||
'blank.png',
|
||||
'blank.png',
|
||||
'blank.png',
|
||||
'homedecor_blanktile.png',
|
||||
'homedecor_blanktile.png',
|
||||
'homedecor_blanktile.png',
|
||||
},
|
||||
wield_image = 'homedecor_'..m..'_table_'..shape..'_inv.png',
|
||||
use_texture_alpha = "clip",
|
||||
use_texture_alpha = "blend",
|
||||
groups = { snappy = 3, dig_tree=2 },
|
||||
_sound_def = {
|
||||
key = s,
|
||||
@@ -88,18 +88,18 @@ for i, mat in ipairs(tabletop_materials) do
|
||||
collision_box = tables_cbox,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local player_name = placer:get_player_name()
|
||||
if core.is_protected(pointed_thing.under, player_name) then return end
|
||||
local node = core.get_node(pointed_thing.under)
|
||||
if minetest.is_protected(pointed_thing.under, player_name) then return end
|
||||
local node = minetest.get_node(pointed_thing.under)
|
||||
if string.find(node.name, "homedecor:table_legs") then
|
||||
local newname = string.format("homedecor:%s_table_%s_with_%s_legs",
|
||||
m, shape, string.sub(node.name, 22))
|
||||
core.set_node(pointed_thing.under, {name = newname})
|
||||
minetest.set_node(pointed_thing.under, {name = newname})
|
||||
if not creative.is_enabled_for(player_name) then
|
||||
itemstack:take_item()
|
||||
return itemstack
|
||||
end
|
||||
else
|
||||
return core.rotate_node(itemstack, placer, pointed_thing)
|
||||
return minetest.rotate_node(itemstack, placer, pointed_thing)
|
||||
end
|
||||
end
|
||||
})
|
||||
@@ -111,13 +111,13 @@ for i, mat in ipairs(tabletop_materials) do
|
||||
description = string.format("%s %s table with %s legs", shape, m, leg_mat),
|
||||
mesh = "homedecor_table_"..shape..".obj",
|
||||
tiles = {
|
||||
'blank.png',
|
||||
'blank.png',
|
||||
'homedecor_blanktile.png',
|
||||
'homedecor_blanktile.png',
|
||||
'homedecor_'..m..'_table_'..shape..'.png',
|
||||
'homedecor_'..m..'_table_edges.png',
|
||||
"homedecor_table_legs_"..leg_mat..".png",
|
||||
},
|
||||
use_texture_alpha = "clip",
|
||||
use_texture_alpha = "blend",
|
||||
groups = { snappy = 3, dig_tree=2 },
|
||||
_sound_def = {
|
||||
key = s
|
||||
@@ -126,10 +126,10 @@ for i, mat in ipairs(tabletop_materials) do
|
||||
end
|
||||
end
|
||||
|
||||
core.register_alias('homedecor:'..m..'_table_large_square_b', 'homedecor:'..m..'_table_large_square')
|
||||
core.register_alias('homedecor:'..m..'_table_small_square_b', 'homedecor:'..m..'_table_small_square')
|
||||
core.register_alias('homedecor:'..m..'_table_small_round_b', 'homedecor:'..m..'_table_small_round')
|
||||
core.register_alias('homedecor:'..m..'_table_large', 'homedecor:'..m..'_table_large_square')
|
||||
minetest.register_alias('homedecor:'..m..'_table_large_square_b', 'homedecor:'..m..'_table_large_square')
|
||||
minetest.register_alias('homedecor:'..m..'_table_small_square_b', 'homedecor:'..m..'_table_small_square')
|
||||
minetest.register_alias('homedecor:'..m..'_table_small_round_b', 'homedecor:'..m..'_table_small_round')
|
||||
minetest.register_alias('homedecor:'..m..'_table_large', 'homedecor:'..m..'_table_large_square')
|
||||
|
||||
end
|
||||
|
||||
@@ -170,7 +170,7 @@ end
|
||||
|
||||
-- crafting
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:glass_table_small_round_b 15",
|
||||
recipe = {
|
||||
{ "", homedecor.materials.glass_block, "" },
|
||||
@@ -179,21 +179,21 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:glass_table_small_square_b 2",
|
||||
recipe = {
|
||||
{"homedecor:glass_table_small_round", "homedecor:glass_table_small_round" },
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:glass_table_large_square_b 2",
|
||||
recipe = {
|
||||
{ "homedecor:glass_table_small_square", "homedecor:glass_table_small_square" },
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:wood_table_small_round_b 15",
|
||||
recipe = {
|
||||
{ "", "group:wood", "" },
|
||||
@@ -202,14 +202,14 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:wood_table_small_square_b 2",
|
||||
recipe = {
|
||||
{ "homedecor:wood_table_small_round","homedecor:wood_table_small_round" },
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:wood_table_large_square_b 2",
|
||||
recipe = {
|
||||
{ "homedecor:wood_table_small_square", "homedecor:wood_table_small_square" },
|
||||
@@ -218,26 +218,26 @@ core.register_craft( {
|
||||
|
||||
--
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:wood_table_small_round_b",
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:wood_table_small_square_b",
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:wood_table_large_square_b",
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:table_legs_wrought_iron 3",
|
||||
recipe = {
|
||||
{ "", homedecor.materials.iron_lump, "" },
|
||||
@@ -246,7 +246,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:table_legs_brass 3",
|
||||
recipe = {
|
||||
{ "", "basic_materials:brass_ingot", "" },
|
||||
@@ -255,7 +255,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:utility_table_legs",
|
||||
recipe = {
|
||||
{ "group:stick", "group:stick", "group:stick" },
|
||||
@@ -264,7 +264,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:utility_table_legs",
|
||||
burntime = 30,
|
||||
@@ -273,7 +273,7 @@ core.register_craft({
|
||||
for _, shape in ipairs (table_shapes) do
|
||||
for _, leg in ipairs(leg_materials) do
|
||||
for _, mat in ipairs(tabletop_materials) do
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:"..mat[1].."_table_"..shape.."_with_"..leg[1].."_legs",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
@@ -285,7 +285,7 @@ for _, shape in ipairs (table_shapes) do
|
||||
end
|
||||
end
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:table",
|
||||
recipe = {
|
||||
{ "group:wood","group:wood", "group:wood" },
|
||||
@@ -293,7 +293,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:table_mahogany",
|
||||
recipe = {
|
||||
@@ -302,7 +302,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:table_mahogany",
|
||||
recipe = {
|
||||
@@ -311,7 +311,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:table_white",
|
||||
recipe = {
|
||||
@@ -320,19 +320,19 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:table",
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:table_mahogany",
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:table_white",
|
||||
burntime = 30,
|
||||
@@ -340,7 +340,7 @@ core.register_craft({
|
||||
|
||||
-- recycling
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "vessels:glass_fragments",
|
||||
recipe = {
|
||||
@@ -350,7 +350,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "vessels:glass_fragments",
|
||||
recipe = {
|
||||
@@ -360,7 +360,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "vessels:glass_fragments",
|
||||
recipe = {
|
||||
@@ -370,7 +370,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "default:stick 4",
|
||||
recipe = {
|
||||
@@ -380,7 +380,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "default:stick 4",
|
||||
recipe = {
|
||||
@@ -390,7 +390,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "default:stick 4",
|
||||
recipe = {
|
||||
@@ -402,5 +402,5 @@ core.register_craft({
|
||||
|
||||
-- Aliases for the above 3dforniture-like tables
|
||||
|
||||
core.register_alias("3dforniture:table", "homedecor:table")
|
||||
core.register_alias('table', 'homedecor:table')
|
||||
minetest.register_alias("3dforniture:table", "homedecor:table")
|
||||
minetest.register_alias('table', 'homedecor:table')
|
||||
|
||||
|
Before Width: | Height: | Size: 497 B After Width: | Height: | Size: 604 B |
|
Before Width: | Height: | Size: 280 B After Width: | Height: | Size: 315 B |
|
Before Width: | Height: | Size: 488 B After Width: | Height: | Size: 597 B |
|
Before Width: | Height: | Size: 532 B After Width: | Height: | Size: 713 B |
|
Before Width: | Height: | Size: 498 B After Width: | Height: | Size: 642 B |
|
Before Width: | Height: | Size: 292 B After Width: | Height: | Size: 334 B |
|
Before Width: | Height: | Size: 352 B After Width: | Height: | Size: 476 B |
|
Before Width: | Height: | Size: 386 B After Width: | Height: | Size: 439 B |
|
Before Width: | Height: | Size: 183 B After Width: | Height: | Size: 204 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 2.0 KiB |
@@ -1,4 +1,4 @@
|
||||
local S = core.get_translator("homedecor_trash_cans")
|
||||
local S = minetest.get_translator("homedecor_trash_cans")
|
||||
|
||||
local tg_cbox = {
|
||||
type = "fixed",
|
||||
@@ -17,7 +17,7 @@ homedecor.register("trash_can_green", {
|
||||
selection_box = tg_cbox,
|
||||
collision_box = tg_cbox,
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
core.set_node(pos, {name = "homedecor:trash_can_green_open", param2 = node.param2})
|
||||
minetest.set_node(pos, {name = "homedecor:trash_can_green_open", param2 = node.param2})
|
||||
end,
|
||||
crafts = {
|
||||
{
|
||||
@@ -39,7 +39,7 @@ homedecor.register("trash_can_green_open", {
|
||||
collision_box = tg_cbox,
|
||||
drop = "homedecor:trash_can_green",
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
core.set_node(pos, {name = "homedecor:trash_can_green", param2 = node.param2})
|
||||
minetest.set_node(pos, {name = "homedecor:trash_can_green", param2 = node.param2})
|
||||
end,
|
||||
infotext=S("Trash Can"),
|
||||
inventory= {
|
||||
@@ -52,9 +52,9 @@ homedecor.register("trash_can_green_open", {
|
||||
},
|
||||
on_receive_fields = function(pos, formname, fields, sender)
|
||||
if fields.empty then
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:get_inventory():set_list("main", {})
|
||||
core.sound_play("homedecor_trash_all", {to_player=sender:get_player_name(), gain = 1.0})
|
||||
minetest.sound_play("homedecor_trash_all", {to_player=sender:get_player_name(), gain = 1.0})
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
if not core.get_modpath("player_api") then
|
||||
core.log(
|
||||
if not minetest.get_modpath("player_api") then
|
||||
minetest.log(
|
||||
"action",
|
||||
"[homedecor_wardrobe]: minetest game not detected, disabling as this mod is minetest game only at this time"
|
||||
)
|
||||
return
|
||||
end
|
||||
|
||||
local S = core.get_translator("homedecor_wardrobe")
|
||||
local modpath = core.get_modpath("homedecor_wardrobe")
|
||||
local S = minetest.get_translator("homedecor_wardrobe")
|
||||
local modpath = minetest.get_modpath("homedecor_wardrobe")
|
||||
|
||||
local wd_cbox = {type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5}}
|
||||
|
||||
-- cache set_textures function (fallback to old version)
|
||||
-- default.player_set_textures is deprecated and will be removed in future
|
||||
local set_player_textures =
|
||||
core.get_modpath("player_api") and player_api.set_textures
|
||||
minetest.get_modpath("player_api") and player_api.set_textures
|
||||
or default.player_set_textures
|
||||
|
||||
local armor_mod_path = core.get_modpath("3d_armor")
|
||||
local armor_mod_path = minetest.get_modpath("3d_armor")
|
||||
|
||||
local skinslist = {"male1", "male2", "male3", "male4", "male5"}
|
||||
local default_skin = "character.png"
|
||||
local skinsdb_mod_path = core.get_modpath("skinsdb")
|
||||
local skinsdb_mod_path = minetest.get_modpath("skinsdb")
|
||||
|
||||
if skinsdb_mod_path then
|
||||
|
||||
@@ -71,9 +71,9 @@ local function set_player_skin(player, skin, save)
|
||||
if save and not skinsdb_mod_path then
|
||||
|
||||
if skin == default_skin then
|
||||
player:get_meta():set_string("homedecor:player_skin", "")
|
||||
player:set_attribute("homedecor:player_skin", "")
|
||||
else
|
||||
player:get_meta():set_string("homedecor:player_skin", skin)
|
||||
player:set_attribute("homedecor:player_skin", skin)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -94,13 +94,12 @@ local def = {
|
||||
paramtype2 = "facedir",
|
||||
|
||||
groups = {snappy = 3, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
selection_box = wd_cbox,
|
||||
collision_box = wd_cbox,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
|
||||
on_rotate = core.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
|
||||
@@ -110,14 +109,14 @@ local def = {
|
||||
|
||||
can_dig = function(pos,player)
|
||||
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
|
||||
return meta:get_inventory():is_empty("main")
|
||||
end,
|
||||
|
||||
on_construct = function(pos)
|
||||
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
|
||||
meta:set_string("infotext", S("Wardrobe"))
|
||||
|
||||
@@ -139,10 +138,10 @@ local def = {
|
||||
|
||||
meta:set_string("formspec", "size[5.5,8.5]" ..
|
||||
default.gui_bg .. default.gui_bg_img .. default.gui_slots ..
|
||||
"vertlabel[0,0.5;" .. core.formspec_escape(S("Clothes")) .. "]" ..
|
||||
"vertlabel[0,0.5;" .. minetest.formspec_escape(S("Clothes")) .. "]" ..
|
||||
"button_exit[0,3.29;0.6,0.6;default;x]" ..
|
||||
clothes_strings ..
|
||||
"vertlabel[0,5.2;" .. core.formspec_escape(S("Storage")) .. "]" ..
|
||||
"vertlabel[0,5.2;" .. minetest.formspec_escape(S("Storage")) .. "]" ..
|
||||
"list[current_name;main;0.5,4.5;5,2;]" ..
|
||||
"list[current_player;main;0.5,6.8;5,2;]" ..
|
||||
"listring[]"
|
||||
@@ -177,28 +176,28 @@ local def = {
|
||||
}
|
||||
|
||||
-- register the actual minetest node
|
||||
core.register_node(":homedecor:wardrobe", def)
|
||||
minetest.register_node(":homedecor:wardrobe", def)
|
||||
|
||||
core.register_alias("homedecor:wardrobe_bottom", "homedecor:wardrobe")
|
||||
core.register_alias("homedecor:wardrobe_top", "air")
|
||||
minetest.register_alias("homedecor:wardrobe_bottom", "homedecor:wardrobe")
|
||||
minetest.register_alias("homedecor:wardrobe_top", "air")
|
||||
|
||||
if not skinsdb_mod_path then -- If not managed by skinsdb
|
||||
|
||||
core.register_on_joinplayer(function(player)
|
||||
minetest.register_on_joinplayer(function(player)
|
||||
|
||||
local skin = player:get_meta():get("homedecor:player_skin")
|
||||
|
||||
if skin and skin ~= "" then
|
||||
|
||||
-- setting player skin on connect has no effect, so delay skin change
|
||||
core.after(1, function(player1, skin1)
|
||||
minetest.after(1, function(player1, skin1)
|
||||
set_player_skin(player1, skin1)
|
||||
end, player, skin)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:wardrobe",
|
||||
recipe = {
|
||||
{ "homedecor:drawer_small", "homedecor:kitchen_cabinet_colorable" },
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
local S = core.get_translator("homedecor_windows_and_treatments")
|
||||
local S = minetest.get_translator("homedecor_windows_and_treatments")
|
||||
|
||||
homedecor_windows_and_treatments = {}
|
||||
|
||||
@@ -12,7 +12,7 @@ homedecor.register("window_quartered", {
|
||||
"homedecor_window_quartered.png",
|
||||
"homedecor_window_quartered.png"
|
||||
},
|
||||
use_texture_alpha = "clip",
|
||||
use_texture_alpha = "blend",
|
||||
groups = {snappy=3, dig_glass=2},
|
||||
_sound_def = {
|
||||
key = "node_sound_glass_defaults",
|
||||
@@ -128,7 +128,7 @@ homedecor.register("curtain_closed", {
|
||||
end,
|
||||
on_dig = unifieddyes.on_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
core.set_node(pos, { name = "homedecor:curtain_open", param2 = node.param2 })
|
||||
minetest.set_node(pos, { name = "homedecor:curtain_open", param2 = node.param2 })
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
@@ -153,7 +153,7 @@ homedecor.register("curtain_open", {
|
||||
end,
|
||||
on_dig = unifieddyes.on_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
core.set_node(pos, { name = "homedecor:curtain_closed", param2 = node.param2 })
|
||||
minetest.set_node(pos, { name = "homedecor:curtain_closed", param2 = node.param2 })
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
@@ -161,7 +161,7 @@ homedecor.register("curtain_open", {
|
||||
local mats = {
|
||||
{ "brass", S("brass"), "homedecor_generic_metal_brass.png" },
|
||||
{ "wrought_iron", S("wrought iron"), "homedecor_generic_metal_wrought_iron.png" },
|
||||
{ "wood", S("wood"), homedecor.textures.wood.apple.planks }
|
||||
{ "wood", S("wood"), homedecor.textures.default_wood }
|
||||
}
|
||||
|
||||
for _, m in ipairs(mats) do
|
||||
@@ -288,8 +288,8 @@ homedecor.register("shutter_colored", {
|
||||
on_dig = unifieddyes.on_dig,
|
||||
})
|
||||
|
||||
core.register_alias("homedecor:shutter_purple", "homedecor:shutter_violet")
|
||||
core.register_alias("homedecor:shutter_oak", "homedecor:shutter")
|
||||
minetest.register_alias("homedecor:shutter_purple", "homedecor:shutter_violet")
|
||||
minetest.register_alias("homedecor:shutter_oak", "homedecor:shutter")
|
||||
|
||||
-- convert old shutters to param2 coloring
|
||||
|
||||
@@ -299,7 +299,7 @@ for _, color in ipairs(shutters) do
|
||||
table.insert(homedecor_windows_and_treatments.old_shutter_nodes, "homedecor:shutter_"..color)
|
||||
end
|
||||
|
||||
core.register_lbm({
|
||||
minetest.register_lbm({
|
||||
name = ":homedecor:convert_shutters",
|
||||
label = "Convert shutter static nodes to use param2 color",
|
||||
run_at_every_load = false,
|
||||
@@ -321,8 +321,8 @@ core.register_lbm({
|
||||
local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted")
|
||||
local param2 = paletteidx + node.param2
|
||||
|
||||
core.set_node(pos, { name = "homedecor:shutter_colored", param2 = param2 })
|
||||
local meta = core.get_meta(pos)
|
||||
minetest.set_node(pos, { name = "homedecor:shutter_colored", param2 = param2 })
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
end
|
||||
})
|
||||
@@ -345,7 +345,7 @@ for _, color in ipairs(curtaincolors) do
|
||||
table.insert(homedecor_windows_and_treatments.old_static_curtain_nodes, "homedecor:curtain_open_"..color)
|
||||
end
|
||||
|
||||
core.register_lbm({
|
||||
minetest.register_lbm({
|
||||
name = ":homedecor:convert_curtains",
|
||||
label = "Convert static curtain nodes to use param2 color",
|
||||
run_at_every_load = false,
|
||||
@@ -369,8 +369,8 @@ core.register_lbm({
|
||||
local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..metadye, "wallmounted")
|
||||
local newparam2 = paletteidx + (node.param2 % 8)
|
||||
|
||||
core.set_node(pos, { name = newnode, param2 = newparam2 })
|
||||
local meta = core.get_meta(pos)
|
||||
minetest.set_node(pos, { name = newnode, param2 = newparam2 })
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("dye", "unifieddyes:"..metadye)
|
||||
end
|
||||
})
|
||||
@@ -378,7 +378,7 @@ core.register_lbm({
|
||||
-- crafting
|
||||
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:shutter 2",
|
||||
recipe = {
|
||||
{ "group:stick", "group:stick" },
|
||||
@@ -398,14 +398,14 @@ unifieddyes.register_color_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "homedecor:shutter_oak",
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:curtain_open 4",
|
||||
recipe = {
|
||||
{ homedecor.materials.wool_white, "", ""},
|
||||
@@ -414,7 +414,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:curtain_open 4",
|
||||
recipe = {
|
||||
{ "cottages:wool", "", ""},
|
||||
@@ -454,7 +454,7 @@ local mats_craft = {
|
||||
for i in ipairs(mats_craft) do
|
||||
local material = mats_craft[i][1]
|
||||
local ingredient = mats_craft[i][2]
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:curtainrod_"..material.." 3",
|
||||
recipe = {
|
||||
{ ingredient, ingredient, ingredient },
|
||||
@@ -462,7 +462,7 @@ for i in ipairs(mats_craft) do
|
||||
})
|
||||
end
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:window_plain 8",
|
||||
recipe = {
|
||||
@@ -474,7 +474,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "homedecor:window_quartered",
|
||||
recipe = {
|
||||
@@ -485,7 +485,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:blinds_thin",
|
||||
recipe = {
|
||||
{ "group:stick", "basic_materials:plastic_sheet", "group:stick" },
|
||||
@@ -494,7 +494,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:blinds_thick",
|
||||
recipe = {
|
||||
{ "group:stick", "basic_materials:plastic_sheet", "group:stick" },
|
||||
@@ -503,7 +503,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft( {
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:window_flowerbox",
|
||||
recipe = {
|
||||
{ "homedecor:roof_tile_terracotta", homedecor.materials.dirt, "homedecor:roof_tile_terracotta" },
|
||||
@@ -511,7 +511,7 @@ core.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:stained_glass 8",
|
||||
recipe = {
|
||||
{"", "dye:blue", ""},
|
||||
@@ -520,7 +520,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:stained_glass 3",
|
||||
recipe = {
|
||||
{"", "dye:blue", ""},
|
||||
@@ -529,7 +529,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:stained_glass 2",
|
||||
recipe = {
|
||||
{"", "dye:blue", ""},
|
||||
@@ -538,7 +538,7 @@ core.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "homedecor:stained_glass 2",
|
||||
recipe = {
|
||||
{"", "dye:blue", ""},
|
||||
|
||||
@@ -1,17 +1,15 @@
|
||||
local S = core.get_translator("itemframes")
|
||||
local S = minetest.get_translator("itemframes")
|
||||
|
||||
local tmp = {}
|
||||
local sd_disallow = core.get_modpath("screwdriver") and screwdriver.disallow or nil
|
||||
local sd_disallow = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil
|
||||
|
||||
core.register_entity("itemframes:item",{
|
||||
initial_properties = {
|
||||
hp_max = 1,
|
||||
visual = "wielditem",
|
||||
visual_size = {x = 0.33, y = 0.33},
|
||||
collisionbox = {0, 0, 0, 0, 0, 0},
|
||||
physical = false,
|
||||
textures = {"air"},
|
||||
},
|
||||
minetest.register_entity("itemframes:item",{
|
||||
hp_max = 1,
|
||||
visual="wielditem",
|
||||
visual_size={x = 0.33, y = 0.33},
|
||||
collisionbox = {0, 0, 0, 0, 0, 0},
|
||||
physical = false,
|
||||
textures = {"air"},
|
||||
on_activate = function(self, staticdata)
|
||||
if tmp.nodename ~= nil and tmp.texture ~= nil then
|
||||
self.nodename = tmp.nodename
|
||||
@@ -35,7 +33,7 @@ core.register_entity("itemframes:item",{
|
||||
end
|
||||
if self.texture ~= nil and self.nodename ~= nil then
|
||||
local entity_pos = vector.round(self.object:get_pos())
|
||||
local objs = core.get_objects_inside_radius(entity_pos, 0.5)
|
||||
local objs = minetest.get_objects_inside_radius(entity_pos, 0.5)
|
||||
for _, obj in ipairs(objs) do
|
||||
if obj ~= self.object and
|
||||
obj:get_luaentity() and
|
||||
@@ -44,9 +42,9 @@ core.register_entity("itemframes:item",{
|
||||
obj:get_properties() and
|
||||
obj:get_properties().textures and
|
||||
obj:get_properties().textures[1] == self.texture then
|
||||
core.log("action","[itemframes] Removing extra " ..
|
||||
minetest.log("action","[itemframes] Removing extra " ..
|
||||
self.texture .. " found in " .. self.nodename .. " at " ..
|
||||
core.pos_to_string(entity_pos))
|
||||
minetest.pos_to_string(entity_pos))
|
||||
self.object:remove()
|
||||
break
|
||||
end
|
||||
@@ -71,9 +69,9 @@ facedir[3] = {x = -1, y = 0, z = 0}
|
||||
local remove_item = function(pos, node)
|
||||
local objs = nil
|
||||
if node.name == "itemframes:frame" then
|
||||
objs = core.get_objects_inside_radius(pos, .5)
|
||||
objs = minetest.get_objects_inside_radius(pos, .5)
|
||||
elseif node.name == "itemframes:pedestal" then
|
||||
objs = core.get_objects_inside_radius({x=pos.x,y=pos.y+1,z=pos.z}, .5)
|
||||
objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y+1,z=pos.z}, .5)
|
||||
end
|
||||
if objs then
|
||||
for _, obj in ipairs(objs) do
|
||||
@@ -86,7 +84,7 @@ end
|
||||
|
||||
local update_item = function(pos, node)
|
||||
remove_item(pos, node)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
if meta:get_string("item") ~= "" then
|
||||
if node.name == "itemframes:frame" then
|
||||
local posad = facedir[node.param2]
|
||||
@@ -96,10 +94,14 @@ local update_item = function(pos, node)
|
||||
pos.z = pos.z + posad.z * 6.5 / 16
|
||||
elseif node.name == "itemframes:pedestal" then
|
||||
pos.y = pos.y + 12 / 16 + 0.33
|
||||
local n = meta:get_string("item")
|
||||
if string.match(n, "spears:spear_") then
|
||||
pos.y = pos.y + 0.2
|
||||
end
|
||||
end
|
||||
tmp.nodename = node.name
|
||||
tmp.texture = ItemStack(meta:get_string("item")):get_name()
|
||||
local e = core.add_entity(pos,"itemframes:item")
|
||||
local e = minetest.add_entity(pos,"itemframes:item")
|
||||
if node.name == "itemframes:frame" then
|
||||
local yaw = math.pi * 2 - node.param2 * math.pi / 2
|
||||
e:set_yaw(yaw)
|
||||
@@ -108,19 +110,19 @@ local update_item = function(pos, node)
|
||||
end
|
||||
|
||||
local drop_item = function(pos, node)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
if meta:get_string("item") ~= "" then
|
||||
if node.name == "itemframes:frame" then
|
||||
core.add_item(pos, meta:get_string("item"))
|
||||
minetest.add_item(pos, meta:get_string("item"))
|
||||
elseif node.name == "itemframes:pedestal" then
|
||||
core.add_item({x=pos.x,y=pos.y+1,z=pos.z}, meta:get_string("item"))
|
||||
minetest.add_item({x=pos.x,y=pos.y+1,z=pos.z}, meta:get_string("item"))
|
||||
end
|
||||
meta:set_string("item","")
|
||||
end
|
||||
remove_item(pos, node)
|
||||
end
|
||||
|
||||
core.register_node("itemframes:frame",{
|
||||
minetest.register_node("itemframes:frame",{
|
||||
description = S("Item frame"),
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
@@ -138,7 +140,6 @@ core.register_node("itemframes:frame",{
|
||||
paramtype2 = "facedir",
|
||||
sunlight_propagates = true,
|
||||
groups = {choppy = 2, dig_immediate = 2, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
legacy_wallmounted = true,
|
||||
_sound_def = {
|
||||
@@ -146,16 +147,16 @@ core.register_node("itemframes:frame",{
|
||||
},
|
||||
on_rotate = sd_disallow or nil,
|
||||
after_place_node = function(pos, placer, itemstack)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("owner",placer:get_player_name())
|
||||
meta:set_string("infotext", S("Item frame (owned by @1)", placer:get_player_name()))
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack)
|
||||
if not itemstack then return end
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local name = clicker and clicker:get_player_name()
|
||||
if name == meta:get_string("owner") or
|
||||
core.check_player_privs(name, "protection_bypass") then
|
||||
minetest.check_player_privs(name, "protection_bypass") then
|
||||
drop_item(pos,node)
|
||||
local s = itemstack:take_item()
|
||||
meta:set_string("item",s:to_string())
|
||||
@@ -163,10 +164,10 @@ core.register_node("itemframes:frame",{
|
||||
local description = item_meta:get_string("description")
|
||||
if description == "" then
|
||||
local item_name = s:get_name()
|
||||
if core.registered_items[item_name]
|
||||
and core.registered_items[item_name].description
|
||||
if minetest.registered_items[item_name]
|
||||
and minetest.registered_items[item_name].description
|
||||
then
|
||||
description = core.registered_items[item_name].description
|
||||
description = minetest.registered_items[item_name].description
|
||||
else
|
||||
description = item_name
|
||||
end
|
||||
@@ -177,10 +178,10 @@ core.register_node("itemframes:frame",{
|
||||
return itemstack
|
||||
end,
|
||||
on_punch = function(pos,node,puncher)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local name = puncher and puncher:get_player_name()
|
||||
if name == meta:get_string("owner") or
|
||||
core.check_player_privs(name, "protection_bypass") then
|
||||
minetest.check_player_privs(name, "protection_bypass") then
|
||||
drop_item(pos, node)
|
||||
meta:set_string("infotext", S("Item frame (owned by @1)", name))
|
||||
end
|
||||
@@ -188,13 +189,13 @@ core.register_node("itemframes:frame",{
|
||||
can_dig = function(pos,player)
|
||||
if not player then return end
|
||||
local name = player and player:get_player_name()
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
return name == meta:get_string("owner") or
|
||||
core.check_player_privs(name, "protection_bypass")
|
||||
minetest.check_player_privs(name, "protection_bypass")
|
||||
end,
|
||||
on_destruct = function(pos)
|
||||
local meta = core.get_meta(pos)
|
||||
local node = core.get_node(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local node = minetest.get_node(pos)
|
||||
if meta:get_string("item") ~= "" then
|
||||
drop_item(pos, node)
|
||||
end
|
||||
@@ -202,7 +203,7 @@ core.register_node("itemframes:frame",{
|
||||
})
|
||||
|
||||
|
||||
core.register_node("itemframes:pedestal",{
|
||||
minetest.register_node("itemframes:pedestal",{
|
||||
description = S("Pedestal"),
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
@@ -220,23 +221,22 @@ core.register_node("itemframes:pedestal",{
|
||||
tiles = {"itemframes_pedestal.png"},
|
||||
paramtype = "light",
|
||||
groups = {cracky = 3, dig_stone = 2, pickaxey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
_sound_def = {
|
||||
key = "node_sound_stone_defaults",
|
||||
},
|
||||
on_rotate = sd_disallow or nil,
|
||||
after_place_node = function(pos, placer, itemstack)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("owner",placer:get_player_name())
|
||||
meta:set_string("infotext", S("Pedestal (owned by @1)", placer:get_player_name()))
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack)
|
||||
if not itemstack then return end
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local name = clicker and clicker:get_player_name()
|
||||
if name == meta:get_string("owner") or
|
||||
core.check_player_privs(name, "protection_bypass") then
|
||||
minetest.check_player_privs(name, "protection_bypass") then
|
||||
drop_item(pos,node)
|
||||
local s = itemstack:take_item()
|
||||
meta:set_string("item",s:to_string())
|
||||
@@ -244,10 +244,10 @@ core.register_node("itemframes:pedestal",{
|
||||
local description = item_meta:get_string("description")
|
||||
if description == "" then
|
||||
local item_name = s:get_name()
|
||||
if core.registered_items[item_name]
|
||||
and core.registered_items[item_name].description
|
||||
if minetest.registered_items[item_name]
|
||||
and minetest.registered_items[item_name].description
|
||||
then
|
||||
description = core.registered_items[item_name].description
|
||||
description = minetest.registered_items[item_name].description
|
||||
else
|
||||
description = item_name
|
||||
end
|
||||
@@ -258,10 +258,10 @@ core.register_node("itemframes:pedestal",{
|
||||
return itemstack
|
||||
end,
|
||||
on_punch = function(pos,node,puncher)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local name = puncher and puncher:get_player_name()
|
||||
if name == meta:get_string("owner") or
|
||||
core.check_player_privs(name, "protection_bypass") then
|
||||
minetest.check_player_privs(name, "protection_bypass") then
|
||||
drop_item(pos,node)
|
||||
meta:set_string("infotext", S("Pedestal (owned by @1)", name))
|
||||
end
|
||||
@@ -269,13 +269,13 @@ core.register_node("itemframes:pedestal",{
|
||||
can_dig = function(pos,player)
|
||||
if not player then return end
|
||||
local name = player and player:get_player_name()
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
return name == meta:get_string("owner") or
|
||||
core.check_player_privs(name, "protection_bypass")
|
||||
minetest.check_player_privs(name, "protection_bypass")
|
||||
end,
|
||||
on_destruct = function(pos)
|
||||
local meta = core.get_meta(pos)
|
||||
local node = core.get_node(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local node = minetest.get_node(pos)
|
||||
if meta:get_string("item") ~= "" then
|
||||
drop_item(pos, node)
|
||||
end
|
||||
@@ -284,26 +284,26 @@ core.register_node("itemframes:pedestal",{
|
||||
|
||||
-- automatically restore entities lost from frames/pedestals
|
||||
-- due to /clearobjects or similar
|
||||
core.register_lbm({
|
||||
minetest.register_lbm({
|
||||
label = "Maintain itemframe and pedestal entities",
|
||||
name = "itemframes:maintain_entities",
|
||||
nodenames = {"itemframes:frame", "itemframes:pedestal"},
|
||||
run_at_every_load = true,
|
||||
action = function(pos1, node1)
|
||||
core.after(0,
|
||||
minetest.after(0,
|
||||
function(pos, node)
|
||||
local meta = core.get_meta(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local itemstring = meta:get_string("item")
|
||||
if itemstring ~= "" then
|
||||
local entity_pos = pos
|
||||
if node.name == "itemframes:pedestal" then
|
||||
entity_pos = {x=pos.x,y=pos.y+1,z=pos.z}
|
||||
end
|
||||
local objs = core.get_objects_inside_radius(entity_pos, 0.5)
|
||||
local objs = minetest.get_objects_inside_radius(entity_pos, 0.5)
|
||||
if #objs == 0 then
|
||||
core.log("action","[itemframes] Replacing missing " ..
|
||||
minetest.log("action","[itemframes] Replacing missing " ..
|
||||
itemstring .. " in " .. node.name .. " at " ..
|
||||
core.pos_to_string(pos))
|
||||
minetest.pos_to_string(pos))
|
||||
update_item(pos, node)
|
||||
end
|
||||
end
|
||||
@@ -314,7 +314,7 @@ core.register_lbm({
|
||||
|
||||
-- crafts
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'itemframes:frame',
|
||||
recipe = {
|
||||
{'group:stick', 'group:stick', 'group:stick'},
|
||||
@@ -323,7 +323,7 @@ core.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = 'itemframes:pedestal',
|
||||
recipe = {
|
||||
{homedecor.materials.stone, homedecor.materials.stone, homedecor.materials.stone},
|
||||
@@ -333,8 +333,9 @@ core.register_craft({
|
||||
})
|
||||
|
||||
-- stop mesecon pistons from pushing itemframes and pedestals
|
||||
if core.get_modpath("mesecons_mvps") then
|
||||
if minetest.get_modpath("mesecons_mvps") then
|
||||
mesecon.register_mvps_stopper("itemframes:frame")
|
||||
mesecon.register_mvps_stopper("itemframes:pedestal")
|
||||
end
|
||||
|
||||
minetest.log("action", "[itemframes] loaded.")
|
||||
|
||||
@@ -21,4 +21,4 @@ Recipe:
|
||||
Mod dependencies: wool, bucket
|
||||
|
||||
See also:
|
||||
https://www.luanti.org/
|
||||
http://minetest.net/
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
local S = core.get_translator("lavalamp")
|
||||
local S = minetest.get_translator("lavalamp")
|
||||
|
||||
lavalamp = {}
|
||||
|
||||
core.register_node("lavalamp:lavalamp", {
|
||||
minetest.register_node("lavalamp:lavalamp", {
|
||||
description = S("Lava Lamp/Light"),
|
||||
drawtype = "mesh",
|
||||
mesh = "lavalamp.obj",
|
||||
@@ -22,6 +22,7 @@ core.register_node("lavalamp:lavalamp", {
|
||||
},
|
||||
},
|
||||
},
|
||||
use_texture_alpha = "blend",
|
||||
inventory_image = "lavalamp_lamp_inv.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
@@ -34,7 +35,6 @@ core.register_node("lavalamp:lavalamp", {
|
||||
fixed = { -0.25, -0.5, -0.25, 0.25,0.5, 0.25 },
|
||||
},
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, ud_param2_colorable = 1, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
_sound_def = {
|
||||
key = "node_sound_glass_defaults",
|
||||
@@ -43,12 +43,12 @@ core.register_node("lavalamp:lavalamp", {
|
||||
on_dig = unifieddyes.on_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
node.name = "lavalamp:lavalamp_off"
|
||||
core.swap_node(pos, node)
|
||||
minetest.swap_node(pos, node)
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
core.register_node("lavalamp:lavalamp_off", {
|
||||
minetest.register_node("lavalamp:lavalamp_off", {
|
||||
description = S("Lava Lamp/Light (off)"),
|
||||
drawtype = "mesh",
|
||||
mesh = "lavalamp.obj",
|
||||
@@ -66,7 +66,6 @@ core.register_node("lavalamp:lavalamp_off", {
|
||||
fixed = { -0.25, -0.5, -0.25, 0.25,0.5, 0.25 },
|
||||
},
|
||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
_sound_def = {
|
||||
key = "node_sound_glass_defaults",
|
||||
@@ -74,7 +73,7 @@ core.register_node("lavalamp:lavalamp_off", {
|
||||
on_construct = unifieddyes.on_construct,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
node.name = "lavalamp:lavalamp"
|
||||
core.swap_node(pos, node)
|
||||
minetest.swap_node(pos, node)
|
||||
return itemstack
|
||||
end,
|
||||
drop = {
|
||||
@@ -84,7 +83,7 @@ core.register_node("lavalamp:lavalamp_off", {
|
||||
}
|
||||
})
|
||||
|
||||
core.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "lavalamp:lavalamp",
|
||||
recipe = {
|
||||
{"", homedecor.materials.wool_white, "", },
|
||||
@@ -121,7 +120,7 @@ for _, color in ipairs(colors) do
|
||||
table.insert(lavalamp.old_static_nodes, "lavalamp:"..color.."_off")
|
||||
end
|
||||
|
||||
core.register_lbm({
|
||||
minetest.register_lbm({
|
||||
name = "lavalamp:convert",
|
||||
label = "Convert lava lamps to use param2 color",
|
||||
run_at_every_load = false,
|
||||
@@ -146,8 +145,8 @@ core.register_lbm({
|
||||
|
||||
local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, "extended")
|
||||
|
||||
core.set_node(pos, { name = "lavalamp:lavalamp", param2 = paletteidx })
|
||||
local meta = core.get_meta(pos)
|
||||
minetest.set_node(pos, { name = "lavalamp:lavalamp", param2 = paletteidx })
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
|
||||
end
|
||||
|
||||