From 89d107c76e5a563fb86cb89c0054a77bf663c518 Mon Sep 17 00:00:00 2001 From: rudzik8 Date: Tue, 22 Feb 2022 16:30:42 +0700 Subject: [PATCH] Initial files --- api.lua | 69 +++++ init.lua | 7 + locale/mcl_decor.ru.tr | 17 ++ locale/template.txt | 17 ++ mod.conf | 4 + register.lua | 360 +++++++++++++++++++++++++ textures/mcl_decor_coalquartz_tile.png | Bin 0 -> 559 bytes textures/mcl_decor_rainbow_block.png | Bin 0 -> 241 bytes 8 files changed, 474 insertions(+) create mode 100644 api.lua create mode 100644 init.lua create mode 100644 locale/mcl_decor.ru.tr create mode 100644 locale/template.txt create mode 100644 mod.conf create mode 100644 register.lua create mode 100644 textures/mcl_decor_coalquartz_tile.png create mode 100644 textures/mcl_decor_rainbow_block.png diff --git a/api.lua b/api.lua new file mode 100644 index 0000000..8859a84 --- /dev/null +++ b/api.lua @@ -0,0 +1,69 @@ +-- mcl_decor/api.lua + +function mcl_decor:register_chair(name, def) + minetest.register_node(name, { + description = def.description, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-0.25, 0, 0.125, 0.25, 0.5, 0.25}, -- back + {-0.25, -0.125, -0.25, 0.25, 0, 0.25}, -- seat + {-0.25, -0.5, 0.125, -0.125, -0.125, 0.25}, -- 1st leg + {0.125, -0.5, -0.25, 0.25, -0.125, -0.125}, -- 2nd leg + {0.125, -0.5, 0.125, 0.25, -0.125, 0.25}, -- 3rd leg + {-0.25, -0.5, -0.25, -0.125, -0.125, -0.125}, -- 4th leg + } + }, + tiles = def.tiles, + is_ground_content = false, + paramtype = "light", + paramtype2 = "facedir", + stack_max = 64, + sunlight_propagates = true, + selection_box = { + type = "fixed", + fixed = { -0.25, -0.5, -0.25, 0.25, 0.5, 0.25 }, + }, + collision_box = { + type = "fixed", + fixed = { -0.25, -0.5, -0.25, 0.25, 0.5, 0.25 }, + }, + groups = def.groups, + _mcl_hardness = def._mcl_hardness, + _mcl_blast_resistance = def._mcl_blast_resistance, + sounds = def.sounds, + -- TODO: make player sit on the chair by rightclick (maybe via homedecor funcs?) + }) +end + +function mcl_decor:register_table(name, def) + minetest.register_node(name, { + description = def.description, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + { -0.5, 0.375, -0.5, 0.5, 0.5, 0.5 }, -- top + { -0.4375, -0.5, -0.4375, -0.3125, 0.375, -0.3125 }, -- 1st leg + { 0.3125, -0.5, -0.4375, 0.4375, 0.375, -0.3125 }, -- 2nd leg + { 0.3125, -0.5, 0.3125, 0.4375, 0.375, 0.4375 }, -- 3rd leg + { -0.4375, -0.5, 0.3125, -0.3125, 0.375, 0.4375 }, -- 4th leg + } + }, + selection_box = { + type = "fixed", + fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }, -- default 1x1 selection box (to override that weird selection of just the nodebox itself) + }, + tiles = def.tiles, + is_ground_content = false, + paramtype = "light", + stack_max = 64, + sunlight_propagates = true, + groups = def.groups, + _mcl_hardness = def._mcl_hardness, + _mcl_blast_resistance = def._mcl_blast_resistance, + sounds = def.sounds, + -- TODO: make tables connect with each other??? + }) +end diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..85fa90b --- /dev/null +++ b/init.lua @@ -0,0 +1,7 @@ +-- mcl_decor/init.lua + +mcl_decor = {} + +local modpath = minetest.get_modpath(minetest.get_current_modname()) +dofile(modpath.."/api.lua") +dofile(modpath.."/register.lua") diff --git a/locale/mcl_decor.ru.tr b/locale/mcl_decor.ru.tr new file mode 100644 index 0000000..b668058 --- /dev/null +++ b/locale/mcl_decor.ru.tr @@ -0,0 +1,17 @@ +# textdomain: mcl_decor +Coalquartz tile=Уголекварцевая плитка +Rainbow block=Радужный блок +Oak Chair=Дубовый стул +Acacia Chair=Стул из акации +Birch Chair=Берёзовый стул +Dark Oak Chair=Стул из тёмного дуба +Jungle Chair=Стул из тропического дерева +Spruce Chair=Еловый стул +Iron Chair=Железный стул +Oak Table=Дубовый стол +Acacia Table=Стол из акации +Birch Table=Берёзовый стол +Dark Oak Table=Стол из тёмного дуба +Jungle Table=Стол из тропического дерева +Spruce Table=Еловый стол +Iron Table=Железый стол diff --git a/locale/template.txt b/locale/template.txt new file mode 100644 index 0000000..149a4da --- /dev/null +++ b/locale/template.txt @@ -0,0 +1,17 @@ +# textdomain: mcl_decor +Coalquartz tile= +Rainbow block= +Oak Chair= +Acacia Chair= +Birch Chair= +Dark Oak Chair= +Jungle Chair= +Spruce Chair= +Iron Chair= +Oak Table= +Acacia Table= +Birch Table= +Dark Oak Table= +Jungle Table= +Spruce Table= +Iron Table= diff --git a/mod.conf b/mod.conf new file mode 100644 index 0000000..243c258 --- /dev/null +++ b/mod.conf @@ -0,0 +1,4 @@ +name = mcl_decor +title = MineClone2 Furniture and decorations +description = Adds more decoration and furniture blocks to MineClone 2 (5) +depends = mcl_core, mcl_sounds, mcl_dye, mcl_nether diff --git a/register.lua b/register.lua new file mode 100644 index 0000000..86bf077 --- /dev/null +++ b/register.lua @@ -0,0 +1,360 @@ +-- mcl_decor/register.lua + +local S = minetest.get_translator(minetest.get_current_modname()) + +--- Coalquartz tile --- +minetest.register_node("mcl_decor:coalquartz_tile", { + description = S("Coalquartz tile"), + tiles = {"mcl_decor_coalquartz_tile.png"}, + is_ground_content = false, + groups = {pickaxey=1, flammable=1, quartz_block=1, building_block=1, material_stone=1, fire_encouragement=5, fire_flammability=5}, + sounds = mcl_sounds.node_sound_stone_defaults(), + _mcl_blast_resistance = 4, + _mcl_hardness = 3, +}) +minetest.register_craft({ + output = "mcl_decor:coalquartz_tile", + recipe = { + {"mcl_core:coalblock", "mcl_nether:quartz_block"}, + {"mcl_nether:quartz_block", "mcl_core:coalblock"} + } +}) + +--- Rainbow block --- +minetest.register_node("mcl_decor:rainbow_block", { + description = S("Rainbow block"), + tiles = {{ + name = "mcl_decor_rainbow_block.png", + animation = {type = "vertical_frames", aspect_w = 1, aspect_h = 1, length = 16} + }}, + is_ground_content = false, + light_source = minetest.LIGHT_MAX, + groups = {handy=1, building_block=1, material_glass=1}, + sounds = mcl_sounds.node_sound_glass_defaults(), + _mcl_blast_resistance = 0.9, + _mcl_hardness = 0.9, +}) +minetest.register_craft({ + output = "mcl_decor:rainbow_block", + recipe = { + {"mcl_dye:red", "mcl_dye:orange", "mcl_dye:yellow"}, + {"mcl_dye:green", "mcl_nether:glowstone", "mcl_dye:lightblue"}, + {"mcl_dye:blue", "mcl_dye:violet", "mcl_dye:pink"} + } +}) + + + +--- Oak Chair --- +mcl_decor:register_chair("mcl_decor:wooden_chair", { + description = S("Oak Chair"), + tiles = {"default_wood.png"}, + groups = {handy=1, axey=1, material_wood=1, deco_block=1, flammable=-1}, + _mcl_hardness = 3, + _mcl_blast_resistance = 3, + sounds = mcl_sounds.node_sound_wood_defaults(), +}) +minetest.register_craft({ + output = "mcl_decor:wooden_chair 2", + recipe = { + {"", "", "mcl_core:stick"}, + {"mcl_core:wood", "mcl_core:wood", "mcl_core:wood"}, + {"mcl_core:stick", "", "mcl_core:stick"} + } +}) +minetest.register_craft({ + type = "fuel", + recipe = "mcl_decor:wooden_chair", + burntime = 8, +}) + +--- Acacia Chair --- +mcl_decor:register_chair("mcl_decor:acacia_chair", { + description = S("Acacia Chair"), + tiles = {"default_acacia_wood.png"}, + groups = {handy=1, axey=1, material_wood=1, deco_block=1, flammable=-1}, + _mcl_hardness = 3, + _mcl_blast_resistance = 3, + sounds = mcl_sounds.node_sound_wood_defaults(), +}) +minetest.register_craft({ + output = "mcl_decor:acacia_chair 2", + recipe = { + {"", "", "mcl_core:stick"}, + {"mcl_core:acaciawood", "mcl_core:acaciawood", "mcl_core:acaciawood"}, + {"mcl_core:stick", "", "mcl_core:stick"} + } +}) +minetest.register_craft({ + type = "fuel", + recipe = "mcl_decor:acacia_chair", + burntime = 8, +}) + +--- Birch Chair --- +mcl_decor:register_chair("mcl_decor:birch_chair", { + description = S("Birch Chair"), + tiles = {"mcl_core_planks_birch.png"}, + groups = {handy=1, axey=1, material_wood=1, deco_block=1, flammable=-1}, + _mcl_hardness = 3, + _mcl_blast_resistance = 3, + sounds = mcl_sounds.node_sound_wood_defaults(), +}) +minetest.register_craft({ + output = "mcl_decor:birch_chair 2", + recipe = { + {"", "", "mcl_core:stick"}, + {"mcl_core:birchwood", "mcl_core:birchwood", "mcl_core:birchwood"}, + {"mcl_core:stick", "", "mcl_core:stick"} + } +}) +minetest.register_craft({ + type = "fuel", + recipe = "mcl_decor:birch_chair", + burntime = 8, +}) + +--- Dark Oak Chair --- +mcl_decor:register_chair("mcl_decor:dark_oak_chair", { + description = S("Dark Oak Chair"), + tiles = {"mcl_core_planks_big_oak.png"}, + groups = {handy=1, axey=1, material_wood=1, deco_block=1, flammable=-1}, + _mcl_hardness = 3, + _mcl_blast_resistance = 3, + sounds = mcl_sounds.node_sound_wood_defaults(), +}) +minetest.register_craft({ + output = "mcl_decor:dark_oak_chair 2", + recipe = { + {"", "", "mcl_core:stick"}, + {"mcl_core:darkwood", "mcl_core:darkwood", "mcl_core:darkwood"}, + {"mcl_core:stick", "", "mcl_core:stick"} + } +}) +minetest.register_craft({ + type = "fuel", + recipe = "mcl_decor:dark_oak_chair", + burntime = 8, +}) + +--- Jungle Chair --- +mcl_decor:register_chair("mcl_decor:jungle_chair", { + description = S("Jungle Chair"), + tiles = {"default_junglewood.png"}, + groups = {handy=1, axey=1, material_wood=1, deco_block=1, flammable=-1}, + _mcl_hardness = 3, + _mcl_blast_resistance = 3, + sounds = mcl_sounds.node_sound_wood_defaults(), +}) +minetest.register_craft({ + output = "mcl_decor:jungle_chair 2", + recipe = { + {"", "", "mcl_core:stick"}, + {"mcl_core:junglewood", "mcl_core:junglewood", "mcl_core:junglewood"}, + {"mcl_core:stick", "", "mcl_core:stick"} + } +}) +minetest.register_craft({ + type = "fuel", + recipe = "mcl_decor:jungle_chair", + burntime = 8, +}) + +--- Spruce Chair --- +mcl_decor:register_chair("mcl_decor:spruce_chair", { + description = S("Spruce Chair"), + tiles = {"mcl_core_planks_spruce.png"}, + groups = {handy=1, axey=1, material_wood=1, deco_block=1, flammable=-1}, + _mcl_hardness = 3, + _mcl_blast_resistance = 3, + sounds = mcl_sounds.node_sound_wood_defaults(), +}) +minetest.register_craft({ + output = "mcl_decor:spruce_chair 2", + recipe = { + {"", "", "mcl_core:stick"}, + {"mcl_core:sprucewood", "mcl_core:sprucewood", "mcl_core:sprucewood"}, + {"mcl_core:stick", "", "mcl_core:stick"} + } +}) +minetest.register_craft({ + type = "fuel", + recipe = "mcl_decor:spruce_chair", + burntime = 8, +}) + +--- Iron Chair --- +mcl_decor:register_chair("mcl_decor:iron_chair", { + description = S("Iron Chair"), + tiles = {"default_steel_block.png"}, + groups = {pickaxey=2, deco_block=1}, + _mcl_blast_resistance = 6, + _mcl_hardness = 5, + sounds = mcl_sounds.node_sound_metal_defaults(), +}) +minetest.register_craft({ + output = "mcl_decor:iron_chair 2", + recipe = { + {"", "", "mcl_core:stick"}, + {"mcl_core:iron_ingot", "mcl_core:iron_ingot", "mcl_core:iron_ingot"}, + {"mcl_core:stick", "", "mcl_core:stick"} + } +}) + + + +--- Oak Table --- +mcl_decor:register_table("mcl_decor:wooden_table", { + description = S("Oak Table"), + tiles = {"default_wood.png"}, + groups = {handy=1, axey=1, material_wood=1, deco_block=1, flammable=-1}, + _mcl_hardness = 3, + _mcl_blast_resistance = 3, + sounds = mcl_sounds.node_sound_wood_defaults(), +}) +minetest.register_craft({ + output = "mcl_decor:wooden_table", + recipe = { + {"mcl_core:wood", "mcl_core:wood", "mcl_core:wood"}, + {"mcl_core:stick", "", "mcl_core:stick"}, + {"mcl_core:stick", "", "mcl_core:stick"} + } +}) +minetest.register_craft({ + type = "fuel", + recipe = "mcl_decor:wooden_table", + burntime = 10, +}) + +--- Acacia Table --- +mcl_decor:register_table("mcl_decor:acacia_table", { + description = S("Acacia Table"), + tiles = {"default_acacia_wood.png"}, + groups = {handy=1, axey=1, material_wood=1, deco_block=1, flammable=-1}, + _mcl_hardness = 3, + _mcl_blast_resistance = 3, + sounds = mcl_sounds.node_sound_wood_defaults(), +}) +minetest.register_craft({ + output = "mcl_decor:acacia_table", + recipe = { + {"mcl_core:acaciawood", "mcl_core:acaciawood", "mcl_core:acaciawood"}, + {"mcl_core:stick", "", "mcl_core:stick"}, + {"mcl_core:stick", "", "mcl_core:stick"} + } +}) +minetest.register_craft({ + type = "fuel", + recipe = "mcl_decor:acacia_table", + burntime = 10, +}) + +--- Birch Table --- +mcl_decor:register_table("mcl_decor:birch_table", { + description = S("Birch Table"), + tiles = {"mcl_core_planks_birch.png"}, + groups = {handy=1, axey=1, material_wood=1, deco_block=1, flammable=-1}, + _mcl_hardness = 3, + _mcl_blast_resistance = 3, + sounds = mcl_sounds.node_sound_wood_defaults(), +}) +minetest.register_craft({ + output = "mcl_decor:birch_table", + recipe = { + {"mcl_core:birchwood", "mcl_core:birchwood", "mcl_core:birchwood"}, + {"mcl_core:stick", "", "mcl_core:stick"}, + {"mcl_core:stick", "", "mcl_core:stick"} + } +}) +minetest.register_craft({ + type = "fuel", + recipe = "mcl_decor:birch_table", + burntime = 10, +}) + +--- Dark Oak Table --- +mcl_decor:register_table("mcl_decor:dark_oak_table", { + description = S("Dark Oak Table"), + tiles = {"mcl_core_planks_big_oak.png"}, + groups = {handy=1, axey=1, material_wood=1, deco_block=1, flammable=-1}, + _mcl_hardness = 3, + _mcl_blast_resistance = 3, + sounds = mcl_sounds.node_sound_wood_defaults(), +}) +minetest.register_craft({ + output = "mcl_decor:dark_oak_table", + recipe = { + {"mcl_core:darkwood", "mcl_core:darkwood", "mcl_core:darkwood"}, + {"mcl_core:stick", "", "mcl_core:stick"}, + {"mcl_core:stick", "", "mcl_core:stick"} + } +}) +minetest.register_craft({ + type = "fuel", + recipe = "mcl_decor:dark_oak_table", + burntime = 10, +}) + +--- Jungle Table --- +mcl_decor:register_table("mcl_decor:jungle_table", { + description = S("Jungle Table"), + tiles = {"default_junglewood.png"}, + groups = {handy=1, axey=1, material_wood=1, deco_block=1, flammable=-1}, + _mcl_hardness = 3, + _mcl_blast_resistance = 3, + sounds = mcl_sounds.node_sound_wood_defaults(), +}) +minetest.register_craft({ + output = "mcl_decor:jungle_table", + recipe = { + {"mcl_core:junglewood", "mcl_core:junglewood", "mcl_core:junglewood"}, + {"mcl_core:stick", "", "mcl_core:stick"}, + {"mcl_core:stick", "", "mcl_core:stick"} + } +}) +minetest.register_craft({ + type = "fuel", + recipe = "mcl_decor:jungle_table", + burntime = 10, +}) + +--- Spruce Table --- +mcl_decor:register_table("mcl_decor:spruce_table", { + description = S("Spruce Table"), + tiles = {"mcl_core_planks_spruce.png"}, + groups = {handy=1, axey=1, material_wood=1, deco_block=1, flammable=-1}, + _mcl_hardness = 3, + _mcl_blast_resistance = 3, + sounds = mcl_sounds.node_sound_wood_defaults(), +}) +minetest.register_craft({ + output = "mcl_decor:spruce_table", + recipe = { + {"mcl_core:sprucewood", "mcl_core:sprucewood", "mcl_core:sprucewood"}, + {"mcl_core:stick", "", "mcl_core:stick"}, + {"mcl_core:stick", "", "mcl_core:stick"} + } +}) +minetest.register_craft({ + type = "fuel", + recipe = "mcl_decor:spruce_table", + burntime = 10, +}) + +--- Iron Table --- +mcl_decor:register_table("mcl_decor:iron_table", { + description = S("Iron Table"), + tiles = {"default_steel_block.png"}, + groups = {pickaxey=2, deco_block=1}, + _mcl_blast_resistance = 6, + _mcl_hardness = 5, + sounds = mcl_sounds.node_sound_metal_defaults(), +}) +minetest.register_craft({ + output = "mcl_decor:iron_table", + recipe = { + {"mcl_core:iron_ingot", "mcl_core:iron_ingot", "mcl_core:iron_ingot"}, + {"mcl_core:stick", "", "mcl_core:stick"}, + {"mcl_core:stick", "", "mcl_core:stick"} + } +}) diff --git a/textures/mcl_decor_coalquartz_tile.png b/textures/mcl_decor_coalquartz_tile.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b680172cde93332bb1f5462f74c63d78eb1d55 GIT binary patch literal 559 zcmV+~0?_@5P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0mMl}K~y+TT~osmqnntUQ8y1&CK@k5_(3}2+;L*DvcooE55j3@SiA|blE!y|YXz;;wW}3|U zCSxlrwJ%9go}8iXzBQ?V{oNf2qbT)6;`b!AL_P*XF%UGK&r=G80woUn^Z^9V&w1jM z9cr&yrMOcSacoNrRGV@=O1tAz9M_?*9Yt|0mT5}KE>Qy$`5ZMnP#_4XuWd+mx%yH#!(a+4EW8L)Dp3+(GFlB z;Nj7AjZI6JCu@9fF-!zH`Xgz95_quFkeU*)>KzACG=8huUd%`VCE z!lGD3i?UhYl78IfGwwj4)MSBb09a8`po`xGI2P5}rS*b81{B#OhVrbJh9gm`a6~1i zL`p%kQmqto2ed{&Wl)3Q_t8fJAIZ@s0IDH?UMygsir%_v07?EM=me?tmxLWCuYRLJ xokXE@+COum&5yxATCZ*1iU0D*8?jkPVM%xNb!1@J z*w6hZkrl}2EbxddW?8eR=R!8T79#}JL+tCLQ1F&TA+=U+@nU>1t~``-P#vv`E i4;$aV@cwbC`TfD5K%p{I1r?x+7(8A5T-G@yGywo3?NcNG literal 0 HcmV?d00001