From e913c0cc56927697c2eb770e0d11cdb400281d83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikita=20Wi=C5=9Bniewski=20=F0=9F=A4=8D=F0=9F=92=99?= =?UTF-8?q?=F0=9F=A4=8D?= Date: Sat, 1 Oct 2022 17:21:50 +0700 Subject: [PATCH] Replace nodebox with mesh for table lamp and update README for it (fixes #8) now I have normal experience with meshing, yahoo! thanks to blockbench --- README.md | 6 +- hedges.lua | 12 +- misc.lua | 20 ++-- models/mcl_decor_table_lamp.mtl | 2 + models/mcl_decor_table_lamp.obj | 141 +++++++++++++++++++++++ textures/mcl_decor_table_lamp.png | Bin 0 -> 8175 bytes textures/mcl_decor_table_lamp_bottom.png | Bin 358 -> 0 bytes textures/mcl_decor_table_lamp_side.png | Bin 501 -> 0 bytes 8 files changed, 166 insertions(+), 15 deletions(-) create mode 100644 models/mcl_decor_table_lamp.mtl create mode 100644 models/mcl_decor_table_lamp.obj create mode 100644 textures/mcl_decor_table_lamp.png delete mode 100644 textures/mcl_decor_table_lamp_bottom.png delete mode 100644 textures/mcl_decor_table_lamp_side.png diff --git a/README.md b/README.md index 07aaa73..2532d3d 100644 --- a/README.md +++ b/README.md @@ -34,14 +34,16 @@ Media licensed under CC-BY-SA 4.0, see [this deed](https://creativecommons.org/l ## Credits **For assets:** + - [Coalquartz Tile texture](textures/mcl_decor_coalquartz_tile.png) uses [coal block](https://git.minetest.land/MineClone2/MineClone2/src/branch/master/mods/ITEMS/mcl_core/textures/default_coal_block.png) and [quartz block](https://git.minetest.land/MineClone2/MineClone2/src/branch/master/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_block_side.png) textures under [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/) by [XSSheep](https://github.com/XSSheep) (combined) - [Dyed planks template texture](textures/mcl_decor_dyed_planks.png) uses [oak planks](https://git.minetest.land/MineClone2/MineClone2/src/branch/master/mods/ITEMS/mcl_core/textures/default_wood.png) texture under [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/) by [XSSheep](https://github.com/XSSheep) (desaturated and lighted up a bit from original) -- [Table Lamp bottom texture](textures/mcl_decor_table_lamp_bottom.png) uses [grey wool](https://git.minetest.land/MineClone2/MineClone2/src/branch/master/mods/ITEMS/mcl_wool/textures/wool_grey.png) texture under [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/) by [XSSheep](https://github.com/XSSheep) (resized and partly darkened up from original) -- [Table Lamp side texture](textures/mcl_decor_table_lamp_side.png) uses [grey wool](https://git.minetest.land/MineClone2/MineClone2/src/branch/master/mods/ITEMS/mcl_wool/textures/wool_grey.png) and [oak tree](https://git.minetest.land/MineClone2/MineClone2/src/branch/master/mods/ITEMS/mcl_core/textures/default_tree.png) textures under [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/) by [XSSheep](https://github.com/XSSheep) (combined) +- [Table Lamp texture](textures/mcl_decor_table_lamp.png) uses [red wool](https://git.minetest.land/MineClone2/MineClone2/src/branch/master/mods/ITEMS/mcl_wool/textures/wool_red.png), [black wool](https://git.minetest.land/MineClone2/MineClone2/src/branch/master/mods/ITEMS/mcl_wool/textures/wool_black.png), [torch](https://git.minetest.land/MineClone2/MineClone2/src/branch/master/mods/ITEMS/mcl_torches/textures/default_torch_on_floor.png), [smooth stone](https://git.minetest.land/MineClone2/MineClone2/src/branch/master/mods/ITEMS/mcl_stairs/textures/mcl_stairs_stone_slab_top.png) and [oak tree](https://git.minetest.land/MineClone2/MineClone2/src/branch/master/mods/ITEMS/mcl_core/textures/default_tree.png) textures under [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/) by [XSSheep](https://github.com/XSSheep) (combined and resized) - [Curtains overlay texture](textures/mcl_decor_curtain_overlay.png) uses [top iron pane](https://git.minetest.land/MineClone2/MineClone2/src/branch/master/mods/ITEMS/xpanes/textures/xpanes_top_iron.png) texture under [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/) by [XSSheep](https://github.com/XSSheep) (resized) **For code:** + - Sitting function (in api.lua) uses code from [ts_furniture mod](https://content.minetest.net/packages/Thomas-S/ts_furniture/) under [MIT](https://spdx.org/licenses/MIT.html) by [Thomas-S](https://content.minetest.net/users/Thomas-S/) **Misc:** + - [Homedecor modpack](https://content.minetest.net/packages/VanessaE/homedecor_modpack/) and [xdecor](https://content.minetest.net/packages/jp/xdecor) mods were inspiration for me partly. Thanks to [VanessaE](https://content.minetest.net/users/VanessaE/) and [jp](https://content.minetest.net/users/jp/) for them! diff --git a/hedges.lua b/hedges.lua index cb87b4f..0f2d630 100644 --- a/hedges.lua +++ b/hedges.lua @@ -4,7 +4,17 @@ local S = minetest.get_translator(minetest.get_current_modname()) -- API function mcl_decor.register_hedge(name, desc, material, tiles) - mcl_fences.register_fence(name .. "_hedge", desc, tiles, {handy = 1, axey = 1, hedge = 1, deco_block = 1, flammable = 2, fire_encouragement = 10, fire_flammability = 10}, 1, 1, {"group:hedge"}, mcl_sounds.node_sound_wood_defaults()) + -- use mcl_fences api to register hedge + mcl_fences.register_fence( + name .. "_hedge", + desc, + tiles, + {handy = 1, axey = 1, hedge = 1, deco_block = 1, flammable = 2, fire_encouragement = 10, fire_flammability = 10}, + 1, 1, + {"group:hedge"}, + mcl_sounds.node_sound_leaves_defaults() + ) + -- crafting recipe minetest.register_craft({ output = "mcl_decor:" .. name .. "_hedge" .. " 6", recipe = { diff --git a/misc.lua b/misc.lua index 174ffa3..4f580cd 100644 --- a/misc.lua +++ b/misc.lua @@ -33,26 +33,22 @@ mcl_stairs.register_stair_and_slab_simple("coalquartz_tile", "mcl_decor:coalquar --- Table Lamp --- minetest.register_node("mcl_decor:table_lamp", { description = S("Table Lamp"), - tiles = {"wool_grey.png", "mcl_decor_table_lamp_bottom.png", "mcl_decor_table_lamp_side.png", - "mcl_decor_table_lamp_side.png", "mcl_decor_table_lamp_side.png", "mcl_decor_table_lamp_side.png"}, - drawtype = "nodebox", + tiles = {"mcl_decor_table_lamp.png"}, + drawtype = "mesh", + mesh = "mcl_decor_table_lamp.obj", paramtype = "light", stack_max = 64, - node_box = { - type = "fixed", - fixed = { - {-0.25, -0.5, -0.25, 0.25, -0.375, 0.25}, - {-0.0625, -0.375, -0.0625, 0.0625, 0, 0.0625}, - {-0.3125, 0, -0.3125, 0.3125, 0.5, 0.3125}, - } - }, selection_box = { type = "fixed", fixed = {-0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125}, }, + collision_box = { + type = "fixed", + fixed = {-0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125}, + }, is_ground_content = false, light_source = minetest.LIGHT_MAX, - groups = {handy=1, axey=1, attached_node=1, material_wood=1, deco_block=1, flammable=-1}, + groups = {handy=1, axey=1, attached_node=1, deco_block=1, flammable=-1}, sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_blast_resistance = 0.9, _mcl_hardness = 0.9, diff --git a/models/mcl_decor_table_lamp.mtl b/models/mcl_decor_table_lamp.mtl new file mode 100644 index 0000000..78a8d5e --- /dev/null +++ b/models/mcl_decor_table_lamp.mtl @@ -0,0 +1,2 @@ +# Made in Blockbench 4.4.1 +newmtl none \ No newline at end of file diff --git a/models/mcl_decor_table_lamp.obj b/models/mcl_decor_table_lamp.obj new file mode 100644 index 0000000..159a40b --- /dev/null +++ b/models/mcl_decor_table_lamp.obj @@ -0,0 +1,141 @@ +# Made in Blockbench 4.4.1 +mtllib mcl_decor_table_lamp.mtl + +o cube +v 0.3125 0.5 0.3125 +v 0.3125 0.5 -0.3125 +v 0.3125 0 0.3125 +v 0.3125 0 -0.3125 +v -0.3125 0.5 -0.3125 +v -0.3125 0.5 0.3125 +v -0.3125 0 -0.3125 +v -0.3125 0 0.3125 +vt 0.15625 0.6153846153846154 +vt 0.3125 0.6153846153846154 +vt 0.3125 0.3076923076923077 +vt 0.15625 0.3076923076923077 +vt 0 0.6153846153846154 +vt 0.15625 0.6153846153846154 +vt 0.15625 0.3076923076923077 +vt 0 0.3076923076923077 +vt 0.46875 0.6153846153846154 +vt 0.625 0.6153846153846154 +vt 0.625 0.3076923076923077 +vt 0.46875 0.3076923076923077 +vt 0.3125 0.6153846153846154 +vt 0.46875 0.6153846153846154 +vt 0.46875 0.3076923076923077 +vt 0.3125 0.3076923076923077 +vt 0.3125 0.6153846153846154 +vt 0.15625 0.6153846153846154 +vt 0.15625 1 +vt 0.3125 1 +vt 0.46875 1 +vt 0.3125 1 +vt 0.3125 0.6153846153846154 +vt 0.46875 0.6153846153846154 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 4/4/1 7/3/1 5/2/1 2/1/1 +f 3/8/2 4/7/2 2/6/2 1/5/2 +f 8/12/3 3/11/3 1/10/3 6/9/3 +f 7/16/4 8/15/4 6/14/4 5/13/4 +f 6/20/5 1/19/5 2/18/5 5/17/5 +f 7/24/6 4/23/6 3/22/6 8/21/6 +o cube +v 0.25 -0.375 0.25 +v 0.25 -0.375 -0.25 +v 0.25 -0.5 0.25 +v 0.25 -0.5 -0.25 +v -0.25 -0.375 -0.25 +v -0.25 -0.375 0.25 +v -0.25 -0.5 -0.25 +v -0.25 -0.5 0.25 +vt 0.625 0.6923076923076923 +vt 0.75 0.6923076923076923 +vt 0.75 0.6153846153846154 +vt 0.625 0.6153846153846154 +vt 0.5 0.6923076923076923 +vt 0.625 0.6923076923076923 +vt 0.625 0.6153846153846154 +vt 0.5 0.6153846153846154 +vt 0.875 0.6923076923076923 +vt 1 0.6923076923076923 +vt 1 0.6153846153846154 +vt 0.875 0.6153846153846154 +vt 0.75 0.6923076923076923 +vt 0.875 0.6923076923076923 +vt 0.875 0.6153846153846154 +vt 0.75 0.6153846153846154 +vt 0.75 0.6923076923076923 +vt 0.625 0.6923076923076923 +vt 0.625 1 +vt 0.75 1 +vt 0.875 1 +vt 0.75 1 +vt 0.75 0.6923076923076923 +vt 0.875 0.6923076923076923 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 12/28/7 15/27/7 13/26/7 10/25/7 +f 11/32/8 12/31/8 10/30/8 9/29/8 +f 16/36/9 11/35/9 9/34/9 14/33/9 +f 15/40/10 16/39/10 14/38/10 13/37/10 +f 14/44/11 9/43/11 10/42/11 13/41/11 +f 15/48/12 12/47/12 11/46/12 16/45/12 +o cube +v 0.0625 0 0.0625 +v 0.0625 0 -0.0625 +v 0.0625 -0.375 0.0625 +v 0.0625 -0.375 -0.0625 +v -0.0625 0 -0.0625 +v -0.0625 0 0.0625 +v -0.0625 -0.375 -0.0625 +v -0.0625 -0.375 0.0625 +vt 0.03125 0.23076923076923073 +vt 0.0625 0.23076923076923073 +vt 0.0625 0 +vt 0.03125 0 +vt 0 0.23076923076923073 +vt 0.03125 0.23076923076923073 +vt 0.03125 0 +vt 0 0 +vt 0.09375 0.23076923076923073 +vt 0.125 0.23076923076923073 +vt 0.125 0 +vt 0.09375 0 +vt 0.0625 0.23076923076923073 +vt 0.09375 0.23076923076923073 +vt 0.09375 0 +vt 0.0625 0 +vt 0.0625 0.23076923076923073 +vt 0.03125 0.23076923076923073 +vt 0.03125 0.3076923076923077 +vt 0.0625 0.3076923076923077 +vt 0.09375 0.3076923076923077 +vt 0.0625 0.3076923076923077 +vt 0.0625 0.23076923076923073 +vt 0.09375 0.23076923076923073 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +usemtl none +f 20/52/13 23/51/13 21/50/13 18/49/13 +f 19/56/14 20/55/14 18/54/14 17/53/14 +f 24/60/15 19/59/15 17/58/15 22/57/15 +f 23/64/16 24/63/16 22/62/16 21/61/16 +f 22/68/17 17/67/17 18/66/17 21/65/17 +f 23/72/18 20/71/18 19/70/18 24/69/18 \ No newline at end of file diff --git a/textures/mcl_decor_table_lamp.png b/textures/mcl_decor_table_lamp.png new file mode 100644 index 0000000000000000000000000000000000000000..963dac44350b92af6c61d9f7160b999d3d79e18a GIT binary patch literal 8175 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 x2!W0sPr&a^p(!BYCYQ=_>B72 zl`YlN_U8WkvM0aPKi|~$i#&Vem)GgDvwUVvGA!R_d;k2OSyP^Gw0-yW?aMivuKGxX zz7)Ivqd0FMh9rk*SRn3)R{q^|n3 zm+1?`QfC%T`GXI#Szk2X>2lz>mehVzB&*lzJ$Jq>Lx!A-)GNE^MOK@|xHt{c?Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!TI4y|}7~qtO@kw-$A8cfMT#=SerNF=B)99IIUQM+3U6KdU1sSMGKH zji`xsU}9h{v~SM=M|&$$%z0`Mg%;q#uv5y&!FC~ZF~P&@KzHyK^rc+$HU87V`E^6d r2%}GEzJ2HdJlmTXeLw&GH@4&x`fV0WVAX~=00000NkvXXu0mjfj2X}U