From b54976a6c439fb039fc0fe505ac11e19bd87be12 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 20 Jan 2020 14:09:45 -0500 Subject: [PATCH] Initial commit --- bathroom.lua | 14 +- bedroom.lua | 4 +- crafts.lua | 141 ++++- dining_room.lua | 63 ++- freezer.lua => fridge.lua | 527 ++++++++++-------- functions.lua | 2 +- grill2.lua | 3 + init.lua | 66 ++- joyb.lua | 46 +- kitchen.lua | 102 ++-- living_room.lua | 22 +- microwave.lua | 127 +++-- misc.lua | 155 +++++- mod.conf | 4 +- models/lever1.obj | 89 +++ models/lever2.obj | 89 +++ models/mp_ceiling_fan.fbx | Bin 0 -> 187340 bytes models/mp_ceiling_fan_animated.3ds | Bin 0 -> 5009 bytes models/mp_ceiling_fan_animated.3ds.b3d | Bin 0 -> 32339 bytes models/stairs.mtl | 12 + models/stairs.obj | 86 +++ models/tv_lcd.zip | Bin 3510 -> 0 bytes outside.lua | 86 +-- oven.lua | 2 +- sofa.lua | 8 +- sounds/275072__kwahmah-02__doorbell-a.ogg | Bin 0 -> 24543 bytes textures/breadslice.png | Bin 482 -> 0 bytes textures/{ws_barrel.png => mp_barrel.png} | Bin .../{ws_barrel_top.png => mp_barrel_top.png} | Bin textures/mp_boygame.png | Bin 0 -> 249 bytes textures/mp_boygame_back.png | Bin 0 -> 223 bytes textures/mp_boygame_front.png | Bin 0 -> 202 bytes textures/mp_boygame_left.png | Bin 0 -> 189 bytes textures/mp_boygame_right.png | Bin 0 -> 201 bytes textures/mp_boygame_top.png | Bin 0 -> 193 bytes textures/mp_breadmaker_back.png | Bin 0 -> 379 bytes textures/mp_breadmaker_side.png | Bin 0 -> 321 bytes textures/mp_breadmaker_top.png | Bin 0 -> 464 bytes textures/mp_breadmaker_top2.png | Bin 0 -> 464 bytes textures/mp_channel_screen.png | Bin 4088 -> 1327 bytes textures/mp_curtainb.png | Bin 226 -> 195 bytes textures/mp_dfridge_back.png | Bin 0 -> 1817 bytes textures/mp_dfridge_bottom.png | Bin 0 -> 86 bytes textures/mp_dfridge_front.png | Bin 0 -> 2166 bytes textures/mp_dfridge_left.png | Bin 0 -> 2113 bytes textures/mp_dfridge_right.png | Bin 0 -> 2171 bytes textures/mp_dfridge_top.png | Bin 0 -> 1396 bytes textures/mp_enc_bottom.png | Bin 1803 -> 529 bytes textures/mp_fridge_back.png | Bin 86 -> 1895 bytes textures/mp_fridge_bottom.png | Bin 200 -> 0 bytes textures/mp_fridge_front.png | Bin 183 -> 0 bytes textures/mp_fridge_left.png | Bin 216 -> 0 bytes textures/mp_fridge_right.png | Bin 219 -> 0 bytes textures/mp_fridge_top.png | Bin 190 -> 0 bytes textures/mp_froz_back.png | Bin 86 -> 0 bytes textures/mp_froz_bottom.png | Bin 190 -> 0 bytes textures/mp_froz_front.png | Bin 180 -> 0 bytes textures/mp_froz_left.png | Bin 216 -> 0 bytes textures/mp_froz_right.png | Bin 223 -> 0 bytes textures/mp_froz_top.png | Bin 193 -> 0 bytes textures/mp_kitchen_floor_tile.png | Bin 0 -> 272 bytes textures/mp_kitchen_tile.png | Bin 0 -> 263 bytes textures/mp_lp_base.png | Bin 0 -> 315 bytes textures/mp_lp_top.png | Bin 0 -> 241 bytes textures/mp_microwave_GUI.png | Bin 0 -> 1277 bytes textures/mp_microwave_start.png | Bin 0 -> 229 bytes textures/mp_oven_GUI.png | Bin 0 -> 941 bytes textures/mp_stairs_back.png | Bin 0 -> 177 bytes textures/mp_stairs_front.png | Bin 0 -> 197 bytes textures/mp_stairs_side.png | Bin 0 -> 204 bytes textures/mp_trampoline_side.png | Bin 0 -> 536 bytes textures/mp_trampoline_top.png | Bin 0 -> 185 bytes textures/mp_ufridge_front.png | Bin 0 -> 2165 bytes textures/mp_ufridge_left.png | Bin 0 -> 2146 bytes textures/mp_ufridge_right.png | Bin 0 -> 2151 bytes textures/mp_ufridge_top.png | Bin 0 -> 1406 bytes textures/mp_venext_top1.png | Bin 0 -> 296 bytes toaster.lua | 5 +- toys.lua | 26 + tv.lua | 16 +- 80 files changed, 1160 insertions(+), 535 deletions(-) rename freezer.lua => fridge.lua (54%) create mode 100644 models/lever1.obj create mode 100644 models/lever2.obj create mode 100644 models/mp_ceiling_fan.fbx create mode 100644 models/mp_ceiling_fan_animated.3ds create mode 100644 models/mp_ceiling_fan_animated.3ds.b3d create mode 100644 models/stairs.mtl create mode 100644 models/stairs.obj delete mode 100644 models/tv_lcd.zip create mode 100644 sounds/275072__kwahmah-02__doorbell-a.ogg delete mode 100644 textures/breadslice.png rename textures/{ws_barrel.png => mp_barrel.png} (100%) rename textures/{ws_barrel_top.png => mp_barrel_top.png} (100%) create mode 100644 textures/mp_boygame.png create mode 100644 textures/mp_boygame_back.png create mode 100644 textures/mp_boygame_front.png create mode 100644 textures/mp_boygame_left.png create mode 100644 textures/mp_boygame_right.png create mode 100644 textures/mp_boygame_top.png create mode 100644 textures/mp_breadmaker_back.png create mode 100644 textures/mp_breadmaker_side.png create mode 100644 textures/mp_breadmaker_top.png create mode 100644 textures/mp_breadmaker_top2.png create mode 100644 textures/mp_dfridge_back.png create mode 100644 textures/mp_dfridge_bottom.png create mode 100644 textures/mp_dfridge_front.png create mode 100644 textures/mp_dfridge_left.png create mode 100644 textures/mp_dfridge_right.png create mode 100644 textures/mp_dfridge_top.png delete mode 100644 textures/mp_fridge_bottom.png delete mode 100644 textures/mp_fridge_front.png delete mode 100644 textures/mp_fridge_left.png delete mode 100644 textures/mp_fridge_right.png delete mode 100644 textures/mp_fridge_top.png delete mode 100644 textures/mp_froz_back.png delete mode 100644 textures/mp_froz_bottom.png delete mode 100644 textures/mp_froz_front.png delete mode 100644 textures/mp_froz_left.png delete mode 100644 textures/mp_froz_right.png delete mode 100644 textures/mp_froz_top.png create mode 100644 textures/mp_kitchen_floor_tile.png create mode 100644 textures/mp_kitchen_tile.png create mode 100644 textures/mp_lp_base.png create mode 100644 textures/mp_lp_top.png create mode 100644 textures/mp_microwave_GUI.png create mode 100644 textures/mp_microwave_start.png create mode 100644 textures/mp_oven_GUI.png create mode 100644 textures/mp_stairs_back.png create mode 100644 textures/mp_stairs_front.png create mode 100644 textures/mp_stairs_side.png create mode 100644 textures/mp_trampoline_side.png create mode 100644 textures/mp_trampoline_top.png create mode 100644 textures/mp_ufridge_front.png create mode 100644 textures/mp_ufridge_left.png create mode 100644 textures/mp_ufridge_right.png create mode 100644 textures/mp_ufridge_top.png create mode 100644 textures/mp_venext_top1.png create mode 100644 toys.lua diff --git a/bathroom.lua b/bathroom.lua index f7e13ee..18f7809 100644 --- a/bathroom.lua +++ b/bathroom.lua @@ -1,5 +1,5 @@ minetest.register_node("ma_pops_furniture:bath_faucet", { - description = "ma_pops_furniture Faucet", + description = "Bathroom Faucet", tiles = { "mp_knob_top.png", "mp_knob_bottom.png", @@ -59,7 +59,7 @@ minetest.register_node('ma_pops_furniture:toilet_open', { paramtype = 'light', paramtype2 = 'facedir', drop = 'ma_pops_furniture:toilet_close', - sounds = default.node_sound_wood_defaults(), + sounds = moditems.WOOD_SOUNDS, selection_box = { type = 'fixed', fixed = { @@ -90,7 +90,7 @@ minetest.register_node('ma_pops_furniture:toilet_close', { groups = {choppy=2, oddly_breakably_by_hand=2, furniture=1}, paramtype = 'light', paramtype2 = 'facedir', - sounds = default.node_sound_wood_defaults(), + sounds = moditems.WOOD_SOUNDS, selection_box = { type = 'fixed', fixed = { @@ -114,7 +114,7 @@ minetest.register_node('ma_pops_furniture:toilet_close', { }) minetest.register_node("ma_pops_furniture:br_sink", { - description = "Sink (ma_pops_furniture)", + description = "Sink (Bathroom)", tiles = { "mp_hw_top.png", "mp_hw_bottom.png", @@ -265,14 +265,14 @@ minetest.register_node("ma_pops_furniture:shower_top", { }) minetest.register_node('ma_pops_furniture:br_tile', { - description = 'ma_pops_furniture Tile', + description = 'Bathroom Tile', drawtype = 'nodebox', tiles = { - "mp_ma_pops_furniture_tile.png" + "mp_bathroom_tile.png" }, groups = {cracky=2, oddly_breakable_by_hand=5, furniture=1}, paramtype = 'light', - sounds = default.node_sound_stone_defaults(), + sounds = moditems.WOOD_SOUNDS, node_box = { type = "fixed", fixed = { diff --git a/bedroom.lua b/bedroom.lua index 796479d..036c176 100644 --- a/bedroom.lua +++ b/bedroom.lua @@ -18,7 +18,7 @@ minetest.register_node('ma_pops_furniture:nightstand_'..material, { groups = {choppy=2, oddly_breakably_by_hand=2, furniture=1, flammable=1}, paramtype = 'light', paramtype2 = 'facedir', - sounds = default.node_sound_wood_defaults(), + sounds = moditems.WOOD_SOUNDS, on_construct = function(pos) local meta = minetest.env:get_meta(pos) local inv = meta:get_inventory() @@ -28,7 +28,7 @@ minetest.register_node('ma_pops_furniture:nightstand_'..material, { 'size [9,10]'.. 'bgcolor[#080808BB;true]'.. 'list[current_name;storage;3,1.5;3,3;]'.. - 'list[current_player;main;0.5,6.5;8,4;]') + 'list[current_player;main;0.5,6.2;8,4;]') end, can_dig = function(pos,player) local meta = minetest.get_meta(pos); diff --git a/crafts.lua b/crafts.lua index 0ca358a..d1a7e8f 100644 --- a/crafts.lua +++ b/crafts.lua @@ -7,6 +7,15 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = 'ma_pops_furniture:br_tile', + recipe = { + {'dye:black','dye:white','dye:black',}, + {'','default:stone_block','',}, + {'dye:black','','dye:black',}, + } +}) + minetest.register_craft({ output = 'ma_pops_furniture:ceiling_lamp', recipe = { @@ -38,7 +47,7 @@ minetest.register_craft({ output = 'ma_pops_furniture:toilet_paper_roll_dispenser', recipe = { {'default:stone','default:stone','default:stone',}, - {'default:paper','default:water','default:paper',}, + {'default:paper','bucket:water','default:paper',}, {'','default:paper','',}, } }) @@ -314,6 +323,7 @@ end local counter_table = { --name, material {'Wooden', 'wood'}, {'Acacia', 'acacia_wood'}, +{'Aspen', 'aspen_wood'}, {'Jungle', 'junglewood' }, {'Pine', 'pine_wood'}, } @@ -346,6 +356,13 @@ minetest.register_craft({ {'ma_pops_furniture:counter3_'..material} }) +minetest.register_craft({ + type = "shapeless", + output = 'ma_pops_furniture:counter1_'..material, + recipe = + {'ma_pops_furniture:counter2_'..material} +}) + minetest.register_craft({ output = 'ma_pops_furniture:upcabinet_'..material, recipe = { @@ -771,12 +788,35 @@ minetest.register_craft({ } }) +local unit_table = { --name, material +{'Wood Entertainment Unit', 'wood'}, +{'Acacia Wood Entertainment Unit', 'acacia_wood'}, +{'Aspen Wood Entertainment Unit', 'aspen_wood'}, +{'Pine Wood Entertainment Unit', 'pine_wood'}, +{'Jungle Wood Entertainment Unit', 'junglewood'} +} + +for i in ipairs (unit_table) do + local name = unit_table[i][1] + local material = unit_table[i][2] + local invimg = unit_table[i][3] + minetest.register_craft({ - output = 'ma_pops_furniture:entertainment_unit', + output = 'ma_pops_furniture:e_u_'..material, recipe = { - {'default:wood','default:wood','default:wood',}, - {'default:wood','default:chest','default:wood',}, - {'default:wood','default:wood','default:wood',}, + {'default:'..material,'default:'..material,'default:'..material,}, + {'default:'..material,'default:chest','default:'..material,}, + {'default:'..material,'','default:'..material,}, + } +}) +end + +minetest.register_craft({ + output = "ma_pops_furniture:trampoline", + recipe = { + {"farming:string", "farming:string", "farming:string"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "", "default:steel_ingot"} } }) @@ -911,28 +951,6 @@ minetest.register_craft({ }) end -local end_table = { --name, material, invimg -{'wood'}, -{'aspen_wood'}, -{'junglewood'}, -{'acacia_wood'}, -{'pine_wood'}, -{'cobble'} -} - -for i in ipairs (end_table) do - local material = end_table[i][1] - -minetest.register_craft({ - output = 'ma_pops_furniture:end_table_'..material, - recipe = { - {'default:'..material, 'default:'..material, 'default:'..material}, - {'default:'..material, '', 'default:'..material}, - {'default:'..material, '', 'default:'..material} - } -}) -end - minetest.register_craft({ output = 'ma_pops_furniture:computer', recipe = { @@ -957,9 +975,18 @@ for i in ipairs (table) do minetest.register_craft({ output = 'ma_pops_furniture:table_'..material, recipe = { - {'default:'..material, 'default:'..material, 'default:'..material}, - {'', 'default:'..material, ''}, - {'', 'default:'..material, ''} + {'stairs:slab_'..material..'wood', 'stairs:slab_'..material..'wood', 'stairs:slab_'..material..'wood'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''} + } +}) + +minetest.register_craft({ + output = 'ma_pops_furniture:table_'..material, + recipe = { + {'stairs:slab_wood', 'stairs:slab_wood', 'stairs:slab_wood'}, + {'', 'default:stick', ''}, + {'', 'default:stick', ''} } }) end @@ -984,6 +1011,7 @@ minetest.register_craft({ } }) end + --added craft minetest.register_craft({ output = 'ma_pops_furniture:birdbath', @@ -993,6 +1021,25 @@ minetest.register_craft({ {'default:stone','default:stone','default:stone',}, } }) + +--added craft +minetest.register_craft({ + output = 'ma_pops_furniture:tile_kitchen', + recipe = { + {'default:stone_block','dye:white','default:stone_block',}, + {'dye:black','default:stone_block','dye:black',}, + {'default:stone_block','dye:white','default:stone_block',}, + } +}) + +--added craft +minetest.register_craft({ + output = 'ma_pops_furniture:tile_floor_kitchen', + recipe = { + {'default:stone_block','ma_pops_furniture:hammer',}, + } +}) + --added craft minetest.register_craft({ output = 'ma_pops_furniture:doorbell 4', @@ -1058,6 +1105,40 @@ minetest.register_craft({ {'default:steel_ingot','','default:steel_ingot',}, } }) + +minetest.register_craft({ + output = 'ma_pops_furniture:fridge_white', + recipe = { + {'default:steelblock','default:steelblock','default:steelblock',}, + {'default:steelblock','default:chest','default:steelblock',}, + {'default:steelblock','default:furnace','default:steelblock',} + } +}) + +--added craft +local fridges_list = { + {"black", "Darkened Fridge", color1}, + {"blue", "Blue Fridge", color2}, + {"green", "Green Fridge", color3}, + {"orange", "Orange Fridge", color5}, + {"red", "Red Fridge", color6}, + {"yellow", "Yellow Fridge", color7}, + {"pink", "Pink Fridge", color8} +} + +for i, fridge in ipairs(fridges_list) do + local colour = fridge[1] + local fridgedesc = fridge[2] + local colour2 = fridge[3] + +minetest.register_craft({ + type = "shapeless", + output = 'ma_pops_furniture:fridge_'..colour, + recipe = + {'ma_pops_furniture:fridge_white', 'dye:'..colour} +}) +end + --added craft minetest.register_craft({ output = 'ma_pops_furniture:stone_path_1 5', diff --git a/dining_room.lua b/dining_room.lua index 1019143..4150395 100644 --- a/dining_room.lua +++ b/dining_room.lua @@ -19,7 +19,7 @@ minetest.register_node('ma_pops_furniture:chair_'..material, { groups = {choppy=2, oddly_breakably_by_hand=2, furniture=1, flammable=1}, paramtype = 'light', paramtype2 = 'facedir', - sounds = default.node_sound_wood_defaults(), + sounds = moditems.WOOD_SOUNDS, can_dig = ma_pops_furniture.sit_dig, on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) pos.y = pos.y + 0 -- Sitting position @@ -29,12 +29,12 @@ minetest.register_node('ma_pops_furniture:chair_'..material, { node_box = { type = "fixed", fixed = { - {-0.375, -0.5, -0.4375, -0.1875, 0, -0.25}, -- NodeBox1 - {-0.375, -0.5, 0.25, -0.1875, 0, 0.4375}, -- NodeBox2 - {0.1875, -0.5, 0.25, 0.375, 0, 0.4375}, -- NodeBox3 - {0.1875, -0.5, -0.4375, 0.375, 0, -0.25}, -- NodeBox4 - {-0.375, 0, -0.4375, 0.375, 0.1875, 0.4375}, -- NodeBox5 - {-0.375, 0.1875, 0.3125, 0.375, 0.875, 0.4375}, -- NodeBox6 + {-0.4375, -0.5, 0.3125, -0.3125, -0.0625, 0.4375}, -- NodeBox10 + {0.3125, -0.5, 0.3125, 0.4375, -0.0625, 0.4375}, -- NodeBox11 + {-0.4375, -0.5, -0.4375, -0.3125, -0.0625, -0.3125}, -- NodeBox12 + {0.3125, -0.5, -0.4375, 0.4375, -0.0625, -0.3125}, -- NodeBox13 + {-0.4375, -0.0625, -0.4375, 0.4375, 0.0625, 0.4375}, -- NodeBox14 + {-0.4375, 0.0625, 0.3125, 0.4375, 0.8125, 0.4375}, -- NodeBox15 } } }) @@ -58,15 +58,16 @@ minetest.register_node('ma_pops_furniture:table_'..material, { description = name, drawtype = 'nodebox', tiles = {'default_'..material..'.png'}, + align_style="world", groups = {snappy = 2, oddly_breakable_by_hand = 2, furniture = 1, flammable = 1, table = 1}, paramtype = 'light', paramtype2 = 'facedir', - sounds = default.node_sound_wood_defaults(), + sounds = moditems.WOOD_SOUNDS, node_box = { type = "fixed", fixed = { - {-0.125, -0.5, -0.125, 0.125, 0.3125, 0.125}, -- NodeBox2 - {-0.5, 0.3125, -0.5, 0.5, 0.5, 0.5}, -- NodeBox3 + {-0.125, -0.5, -0.125, 0.125, 0.375, 0.125}, -- NodeBox8 + {-0.5, 0.375, -0.5, 0.5, 0.5, 0.5}, -- NodeBox9 } }, @@ -76,6 +77,42 @@ minetest.register_node('ma_pops_furniture:table_'..material, { }) end +local table2_table = { --name, material, invimg +{'Stone Table', 'cobble', 'mp_table_stone.png'}, +{'Wood Table', 'wood', 'mp_table_wood.png'}, +{'Acacia Wood Table', 'acacia_wood', 'mp_table_wood_acacia.png'}, +{'Aspen Wood Table', 'aspen_wood', 'mp_table_wood_aspen.png'}, +{'Pine Wood Table', 'pine_wood', 'mp_table_wood_pine.png'}, +{'Jungle Wood Table', 'junglewood', 'mp_table_wood_jungle.png'} +} + +for i in ipairs (table2_table) do + local name = table2_table[i][1] + local material = table2_table[i][2] + local invimg = table2_table[i][3] + +minetest.register_node('ma_pops_furniture:table2_'..material, { + description = name, + drawtype = 'nodebox', + tiles = {'default_'..material..'.png'}, + align_style="world", + groups = {snappy = 2, oddly_breakable_by_hand = 2, furniture = 1, flammable = 1, table = 1}, + paramtype = 'light', + paramtype2 = 'facedir', + sounds = moditems.WOOD_SOUNDS, + node_box = { + type = "fixed", + fixed = { + {-0.5, 0.375, -0.5, 0.5, 0.5, 0.5}, -- NodeBox5 + {-0.4375, -0.5, -0.4375, -0.3125, 0.375, -0.3125}, -- NodeBox6 + {-0.4375, -0.5, 0.3125, -0.3125, 0.375, 0.4375}, -- NodeBox7 + {0.3125, -0.5, 0.3125, 0.4375, 0.375, 0.4375}, -- NodeBox8 + {0.3125, -0.5, -0.4375, 0.4375, 0.375, -0.3125}, -- NodeBox9 + } + }, +}) +end + local table_c_table = { --name, material, invimg {'Stone Corner Table', 'cobble', 'mp_table_stone.png'}, {'Wood Corner Table', 'wood', 'mp_table_wood.png'}, @@ -94,11 +131,12 @@ minetest.register_node('ma_pops_furniture:table_c_'..material, { description = name, drawtype = 'nodebox', tiles = {'default_'..material..'.png'}, + align_style="world", groups = {snappy = 2, oddly_breakable_by_hand = 2, furniture = 1, flammable = 1, table = 1, not_in_creative_inventory = 1}, drop = 'ma_pops_furniture:table_'..material, paramtype = 'light', paramtype2 = 'facedir', - sounds = default.node_sound_wood_defaults(), + sounds = moditems.WOOD_SOUNDS, node_box = { type = "fixed", fixed = { @@ -131,11 +169,12 @@ minetest.register_node('ma_pops_furniture:table_center_'..material, { description = name, drawtype = 'nodebox', tiles = {'default_'..material..'.png'}, + align_style="user", groups = {snappy = 2, oddly_breakable_by_hand = 2, furniture = 1, flammable = 1, table = 1, not_in_creative_inventory = 1}, drop = 'ma_pops_furniture:table_'..material, paramtype = 'light', paramtype2 = 'facedir', - sounds = default.node_sound_wood_defaults(), + sounds = moditems.WOOD_SOUNDS, node_box = { type = "fixed", fixed = { diff --git a/freezer.lua b/fridge.lua similarity index 54% rename from freezer.lua rename to fridge.lua index dc3d30c..3966fad 100644 --- a/freezer.lua +++ b/fridge.lua @@ -1,227 +1,300 @@ --- --- Freezer for mintest: a device which turns water (in buckets) into ice --- And does a couple of other tricks, discovering which is left as a pleasant --- surprise for the player. --- - --- enable extra popsicle types provided there are both vessels and fruits/veggies available --- fruit + glass -> juice; juice @ freezer -> popsicle + empty glass - --- --- Formspecs --- - -local function active_formspec(fuel_percent, item_percent) - local formspec = - "size[8,8.5]".. - default.gui_bg.. - default.gui_bg_img.. - default.gui_slots.. - "list[current_name;src;2.5,1;1,1;]".. - "image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[lowpart:".. - (item_percent)..":gui_furnace_arrow_fg.png^[transformR270]".. - "list[current_name;dst;4.75,0.96;3,2;]".. - "list[current_player;main;0,4.25;8,1;]".. - "list[current_player;main;0,5.5;8,3;8]".. - "listring[current_name;dst]".. - "listring[current_player;main]".. - "listring[current_name;src]".. - "listring[current_player;main]".. - default.get_hotbar_bg(0, 4.25) - return formspec -end - -local inactive_formspec = - "size[8,8.5]".. - default.gui_bg.. - default.gui_bg_img.. - default.gui_slots.. - "list[current_name;src;2.5,1.5;1,1;]".. - "image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]".. - "list[current_name;dst;4.75,0.96;3,2;]".. - "list[current_player;main;0,4.25;8,1;]".. - "list[current_player;main;0,5.5;8,3;8]".. - "listring[current_name;dst]".. - "listring[current_player;main]".. - "listring[current_name;src]".. - "listring[current_player;main]".. - default.get_hotbar_bg(0, 4.25) - --- --- Node callback functions that are the same for active and inactive freezer --- - -local function can_dig(pos, player) - local meta = minetest.get_meta(pos); - local inv = meta:get_inventory() - return inv:is_empty("dst") and inv:is_empty("src") -end - - -local function allow_metadata_inventory_put(pos, listname, index, stack, player) - if minetest.is_protected(pos, player:get_player_name()) then - return 0 - end - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - if listname == "src" then - return stack:get_count() - elseif listname == "dst" then - return 0 - end -end - - -local function allow_metadata_inventory_move(pos, from_list, from_index, to_list, to_index, count, player) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - local stack = inv:get_stack(from_list, from_index) - return allow_metadata_inventory_put(pos, to_list, to_index, stack, player) -end - - -local function allow_metadata_inventory_take(pos, listname, index, stack, player) - if minetest.is_protected(pos, player:get_player_name()) then - return 0 - end - return stack:get_count() -end - - -local function swap_node(pos, name) - local node = minetest.get_node(pos) - if node.name == name then - return - end - node.name = name - minetest.swap_node(pos, node) -end - - -local function freezer_node_timer(pos, elapsed) - -- - -- Inizialize metadata - -- - local meta = minetest.get_meta(pos) - - local src_time = meta:get_float("src_time") or 0 - - - local inv = meta:get_inventory() - local srclist = inv:get_list("src") - - local dstlist = inv:get_list("dst") - - -- - -- Cooking - -- - - -- takes both regular and river water - if inv:contains_item("src", "bucket:bucket_water") or - inv:contains_item("src", "bucket:bucket_river_water") then - if inv:room_for_item("dst", "default:ice") then - inv:remove_item("src", "bucket:bucket_water") - inv:remove_item("src", "bucket:bucket_river_water") - inv:add_item("dst", "default:ice") - inv:add_item("dst", "bucket:bucket_empty") - end - end - - -- Check if we have cookable content - return -end - - --- --- Node definitions --- - -minetest.register_node("ma_pops_furniture:freezer", { - description = "Freezer", - tiles = { - "mp_froz_top.png", - "mp_froz_bottom.png", - "mp_froz_right.png", - "mp_froz_left.png", - "mp_froz_back.png", - "mp_froz_front.png" - }, - paramtype2 = "facedir", - groups = {cracky = 2, tubedevice = 1, tubedevice_receiver = 1}, - legacy_facedir_simple = true, - is_ground_content = false, - sounds = default.node_sound_stone_defaults(), - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.3125, 0.5, 0.5, 0.5}, -- NodeBox1 - {-0.5, -0.4375, -0.375, 0.4375, 0.5, -0.3125}, -- NodeBox2 - {0.3125, -0.25, -0.5, 0.375, 0.25, -0.4375}, -- NodeBox6 - {0.3125, -0.25, -0.4375, 0.375, -0.1875, -0.375}, -- NodeBox7 - {0.3125, 0.1875, -0.4375, 0.375, 0.25, -0.375}, -- NodeBox8 - } - }, - tube = (function() if minetest.get_modpath("pipeworks") then return { - -- using a different stack from defaut when inserting - insert_object = function(pos, node, stack, direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - local timer = minetest.get_node_timer(pos) - if not timer:is_started() then - timer:start(1.0) - end - return inv:add_item("src", stack) - end, - can_insert = function(pos,node,stack,direction) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - return inv:room_for_item("src", stack) - end, - -- the default stack, from which objects will be taken - input_inventory = "dst", - connect_sides = {left = 1, right = 1, back = 1, front = 1, bottom = 1, top = 1} - } end end)(), - - can_dig = can_dig, - - on_timer = freezer_node_timer, - - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("formspec", inactive_formspec) - local inv = meta:get_inventory() - inv:set_size('src', 1) - inv:set_size('dst', 6) - end, - - on_metadata_inventory_move = function(pos) - local timer = minetest.get_node_timer(pos) - timer:start(1.0) - end, - on_metadata_inventory_put = function(pos) - -- start timer function, it will sort out whether freezer will work or not. - local timer = minetest.get_node_timer(pos) - timer:start(1.0) - end, - on_blast = function(pos) - local drops = {} - default.get_inventory_drops(pos, "src", drops) - default.get_inventory_drops(pos, "dst", drops) - drops[#drops+1] = "ma_pops_furniture:freezer" - minetest.remove_node(pos) - return drops - end, - - allow_metadata_inventory_put = allow_metadata_inventory_put, - allow_metadata_inventory_move = allow_metadata_inventory_move, - allow_metadata_inventory_take = allow_metadata_inventory_take, -}) - -minetest.register_craft({ - output = "default:snowblock 3", - type = "shapeless", - recipe = { - "default:ice" - } -}) \ No newline at end of file +-- +-- Freezer for mintest: a device which turns water (in buckets) into ice +-- And does a couple of other tricks, discovering which is left as a pleasant +-- surprise for the player. +-- + +-- enable extra popsicle types provided there are both vessels and fruits/veggies available +-- fruit + glass -> juice; juice @ freezer -> popsicle + empty glass + +-- +-- Formspecs +-- + +local function active_formspec(fuel_percent, item_percent) + local formspec = + "size[8,8.5]".. + default.gui_bg.. + default.gui_bg_img.. + default.gui_slots.. + "list[current_name;src;2.5,1;1,1;]".. + "image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[lowpart:".. + (item_percent)..":gui_furnace_arrow_fg.png^[transformR270]".. + "list[current_name;dst;4.75,0.96;3,2;]".. + "list[current_player;main;0,4.25;8,1;]".. + "list[current_player;main;0,5.5;8,3;8]".. + "listring[current_name;dst]".. + "listring[current_player;main]".. + "listring[current_name;src]".. + "listring[current_player;main]".. + default.get_hotbar_bg(0, 4.25) + return formspec +end + +local inactive_formspec = + "size[8,8.5]".. + default.gui_bg.. + default.gui_bg_img.. + default.gui_slots.. + "list[current_name;src;2.5,1.5;1,1;]".. + "image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]".. + "list[current_name;dst;4.75,0.96;3,2;]".. + "list[current_player;main;0,4.25;8,1;]".. + "list[current_player;main;0,5.5;8,3;8]".. + "listring[current_name;dst]".. + "listring[current_player;main]".. + "listring[current_name;src]".. + "listring[current_player;main]".. + default.get_hotbar_bg(0, 4.25) + +-- +-- Node callback functions that are the same for active and inactive freezer +-- + +local function can_dig(pos, player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + return inv:is_empty("dst") and inv:is_empty("src") +end + + +local function allow_metadata_inventory_put(pos, listname, index, stack, player) + if minetest.is_protected(pos, player:get_player_name()) then + return 0 + end + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + if listname == "src" then + return stack:get_count() + elseif listname == "dst" then + return 0 + end +end + + +local function allow_metadata_inventory_move(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local stack = inv:get_stack(from_list, from_index) + return allow_metadata_inventory_put(pos, to_list, to_index, stack, player) +end + + +local function allow_metadata_inventory_take(pos, listname, index, stack, player) + if minetest.is_protected(pos, player:get_player_name()) then + return 0 + end + return stack:get_count() +end + + +local function swap_node(pos, name) + local node = minetest.get_node(pos) + if node.name == name then + return + end + node.name = name + minetest.swap_node(pos, node) +end + + +local function freezer_node_timer(pos, elapsed) + -- + -- Inizialize metadata + -- + local meta = minetest.get_meta(pos) + + local src_time = meta:get_float("src_time") or 0 + + + local inv = meta:get_inventory() + local srclist = inv:get_list("src") + + local dstlist = inv:get_list("dst") + + -- + -- Cooking + -- + + -- takes both regular and river water + if inv:contains_item("src", "bucket:bucket_water") or + inv:contains_item("src", "bucket:bucket_river_water") then + if inv:room_for_item("dst", "default:ice") then + inv:remove_item("src", "bucket:bucket_water") + inv:remove_item("src", "bucket:bucket_river_water") + inv:add_item("dst", "default:ice") + inv:add_item("dst", "bucket:bucket_empty") + end + end + + -- Check if we have cookable content + return +end + + +-- +-- Node definitions +-- +color1 = minetest.setting_get("color1") or "292421" +color2 = minetest.setting_get("color2") or "0000FF" +color3 = minetest.setting_get("color3") or "00FF00" +color4 = minetest.setting_get("color4") or "F5F5F5" +color5 = minetest.setting_get("color5") or "FF6103" +color6 = minetest.setting_get("color6") or "FF0000" +color7 = minetest.setting_get("color7") or "FFFF00" +color8 = minetest.setting_get("color8") or "FF69B4" + +local fridges_list = { + {"black", "Darkened Fridge", color1}, + {"blue", "Blue Fridge", color2}, + {"green", "Green Fridge", color3}, + {"white", "White Fridge", color4}, + {"orange", "Orange Fridge", color5}, + {"red", "Red Fridge", color6}, + {"yellow", "Yellow Fridge", color7}, + {"pink", "Pink Fridge", color8} +} + +for i, fridge in ipairs(fridges_list) do + local colour = fridge[1] + local fridgedesc = fridge[2] + local colour2 = fridge[3] + + minetest.register_node("ma_pops_furniture:fridge_"..colour, { + description = fridgedesc, + drawtype = "nodebox", + tiles = { + "mp_dfridge_top.png^[colorize:#"..colour2..":70", + "mp_dfridge_bottom.png^[colorize:#"..colour2..":70", + "mp_dfridge_right.png^[colorize:#"..colour2..":70", + "mp_dfridge_left.png^[colorize:#"..colour2..":70", + "mp_dfridge_back.png^[colorize:#"..colour2..":70", + "mp_dfridge_front.png^[colorize:#"..colour2..":70" + }, + paramtype = "light", + paramtype2 = "facedir", + stack_max = 1, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.3125, 0.5, 0.5, 0.5}, -- NodeBox1 + {-0.5, -0.25, -0.375, 0.5, 0.5, -0.3125}, -- NodeBox2 + {-0.5, -0.5, -0.375, 0.5, -0.3125, -0.3125}, -- NodeBox3 + {0.375, 0, -0.4375, 0.4375, 0.5, -0.375}, -- NodeBox4 + } + }, + + after_place_node = function(pos, placer, itemstack) + local node = minetest.env:get_node(pos) + local p = {x=pos.x, y=pos.y, z=pos.z} + local param2 = node.param2 + node.name = "ma_pops_furniture:fridge_top_"..colour + pos.y = pos.y+1 + if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to then + minetest.env:set_node(pos, node) + else + minetest.env:remove_node(p) + return true + end + end, + + on_construct = function(pos) + local meta = minetest.env:get_meta(pos) + local inv = meta:get_inventory() + inv:set_size('main', 8*4) + inv:set_size('storage', 6*4) + meta:set_string('formspec', + 'size [9,10]'.. + 'bgcolor[#080808BB;true]'.. + 'list[current_name;storage;2,1.5;6,4;]'.. + 'list[current_player;main;0.5,6.2;8,4;]') + end, + + on_destruct = function(pos) + local node = minetest.env:get_node(pos) + local param2 = node.param2 + local abovepos = {x=pos.x, y=pos.y+1, z=pos.z} + local abovenode = minetest.env:get_node(abovepos) + if abovenode.name == "ma_pops_furniture:fridge_top_"..colour and + abovenode.param2 == param2 then + minetest.env:remove_node(abovepos) + end + end, + + + }) + +minetest.register_node("ma_pops_furniture:fridge_top_"..colour, { + description = fridgedesc, + drawtype = "nodebox", + tiles = { + "mp_ufridge_top.png^[colorize:#"..colour2..":70", + "default_wood.png^[colorize:#"..colour2..":70", + "mp_ufridge_right.png^[colorize:#"..colour2..":70", + "mp_ufridge_left.png^[colorize:#"..colour2..":70", + "mp_fridge_back.png^[colorize:#"..colour2..":70", + "mp_ufridge_front.png^[colorize:#"..colour2..":70" + }, + paramtype = "light", + paramtype2 = "facedir", + + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3,not_in_creative_inventory=1}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.3125, 0.5, 0.5, 0.5}, -- NodeBox1 + {-0.5, 0.3125, -0.375, 0.5, 0.5, -0.3125}, -- NodeBox2 + {-0.5, -0.3125, -0.375, 0.5, 0.25, -0.3125}, -- NodeBox3 + {-0.5, -0.5, -0.375, 0.5, -0.375, -0.3125}, -- NodeBox4 + {0.375, -0.25, -0.4375, 0.4375, 0.125, -0.375}, -- NodeBox6 + } + }, + + can_dig = can_dig, + + on_timer = freezer_node_timer, + + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", inactive_formspec) + local inv = meta:get_inventory() + inv:set_size('src', 1) + inv:set_size('dst', 6) + end, + + on_metadata_inventory_move = function(pos) + local timer = minetest.get_node_timer(pos) + timer:start(1.0) + end, + on_metadata_inventory_put = function(pos) + -- start timer function, it will sort out whether freezer will work or not. + local timer = minetest.get_node_timer(pos) + timer:start(1.0) + end, + on_blast = function(pos) + local drops = {} + default.get_inventory_drops(pos, "src", drops) + default.get_inventory_drops(pos, "dst", drops) + drops[#drops+1] = "ma_pops_furniture:freezer" + minetest.remove_node(pos) + return drops + end, + + allow_metadata_inventory_put = allow_metadata_inventory_put, + allow_metadata_inventory_move = allow_metadata_inventory_move, + allow_metadata_inventory_take = allow_metadata_inventory_take, +}) +minetest.register_alias("fridges:fridge_"..colour, "fridges:fridge_bottom_"..colour) + +end + +minetest.register_craft({ + output = "default:snowblock 3", + type = "shapeless", + recipe = { + "default:ice" + } +}) diff --git a/functions.lua b/functions.lua index e326b56..3653591 100644 --- a/functions.lua +++ b/functions.lua @@ -191,4 +191,4 @@ function ma_pops_furniture.check_table(pos, material, check_this, check_others) end end end -end +end \ No newline at end of file diff --git a/grill2.lua b/grill2.lua index c3bbedf..a69c102 100644 --- a/grill2.lua +++ b/grill2.lua @@ -86,6 +86,7 @@ minetest.register_node(grill_name, { drawtype = "nodebox", drop = grill_name, paramtype = "light", + sounds = moditems.WOOD_SOUNDS, on_rightclick = function (pos, node, player, itemstack, pointed_thing) minetest.swap_node(pos, {name = grill_on_name}) end, @@ -107,6 +108,7 @@ minetest.register_node("ma_pops_furniture:grill_on", { drop = grill_name, paramtype = "light", light_source = 10, + sounds = moditems.WOOD_SOUNDS, on_rightclick = function (pos, node, player, itemstack, pointed_thing) minetest.swap_node(pos, {name = grill_name}) end, @@ -127,6 +129,7 @@ minetest.register_node(grill2_off_name, { drawtype = "nodebox", drop = grill2_off_name, paramtype = "light", + sounds = moditems.WOOD_SOUNDS, on_rightclick = function (pos, node, player, itemstack, pointed_thing) local node_above = minetest.get_node(above(pos)) diff --git a/init.lua b/init.lua index 5b60b92..d0f37a7 100644 --- a/init.lua +++ b/init.lua @@ -1,9 +1,60 @@ ma_pops_furniture = {} +--GreenDimond's code from waffle mod +local MP = minetest.get_modpath(minetest.get_current_modname()) +local S, NS = dofile(MP.."/intllib.lua") + +ma_pops_furniture.intllib = S +dofile(minetest.get_modpath('ma_pops_furniture')..'/intllib.lua') + +moditems = {} -- switcher + +if core.get_modpath("mcl_core") and mcl_core then -- means MineClone 2 is loaded, this is its core mod + moditems.IRON_ITEM = "mcl_core:iron_ingot" -- MCL version of iron ingot + moditems.COAL_ITEM = "mcl_core:coalblock" -- MCL version of coal block + moditems.CORAL_SKELETON = "mcl_nether:quartz_block" -- MCL version of green dye + moditems.SILVER_SANDSTONE = "mcl_nether:quartz_block" -- MCL version of green dye + moditems.INVENTORY = "mcl_inventory:crafting_formspec_bg2" -- MCL version of green dye + moditems.INFOBOX_CAN = {} + moditems.INFOBOX_DUMP = {} + moditems.BOXART = "bgcolor[#d0d0d0;false]listcolors[#9d9d9d;#9d9d9d;#5c5c5c;#000000;#ffffff]" -- trying to imitate MCL boxart + +else -- fallback, assume default (MineTest Game) is loaded, otherwise it will error anyway here. + moditems.IRON_ITEM = "default:steel_ingot" -- MTG iron ingot + moditems.COAL_ITEM = "default:coalblock" -- MTG coal block + moditems.CORAL_SKELETON = "default:coral_skeleton" -- MCL version of green dye + moditems.SILVER_SANDSTONE = "default:silver_sandstone" -- MCL version of green dye + moditems.INVENTORY = "default:silver_sandstone" -- MCL version of green dye + moditems.INFOBOX_CAN = "Trash Can" + moditems.INFOBOX_DUMP = "Dumpster" + moditems.BOXART = "" +end + +-- actual use in the code down somewhere. +material = moditems.IRON_ITEM +sounds = moditems.WOOD_SOUNDS + +_doc_items_longdesc = moditems.STRING_ITEM + +local sounds + +if mcl_sounds then + sounds = mcl_sounds.node_sound_metal_defaults() +else + if default.node_sound_metal_defaults then + sounds = default.node_sound_metal_defaults() + else + sounds = default.node_sound_stone_defaults() + end +end + +dofile(minetest.get_modpath('ma_pops_furniture')..'/toaster.lua') +dofile(minetest.get_modpath('ma_pops_furniture')..'/abm.lua') dofile(minetest.get_modpath('ma_pops_furniture')..'/bathroom.lua') dofile(minetest.get_modpath('ma_pops_furniture')..'/bedroom.lua') dofile(minetest.get_modpath('ma_pops_furniture')..'/kitchen.lua') dofile(minetest.get_modpath('ma_pops_furniture')..'/living_room.lua') +dofile(minetest.get_modpath('ma_pops_furniture')..'/microwave.lua') dofile(minetest.get_modpath('ma_pops_furniture')..'/dining_room.lua') dofile(minetest.get_modpath('ma_pops_furniture')..'/outside.lua') dofile(minetest.get_modpath('ma_pops_furniture')..'/misc.lua') @@ -12,12 +63,9 @@ dofile(minetest.get_modpath('ma_pops_furniture')..'/joyb.lua') dofile(minetest.get_modpath('ma_pops_furniture')..'/stereo.lua') dofile(minetest.get_modpath('ma_pops_furniture')..'/sofa.lua') dofile(minetest.get_modpath('ma_pops_furniture')..'/tv.lua') - - ---GreenDimond's code from waffle mod -local MP = minetest.get_modpath(minetest.get_current_modname()) -local S, NS = dofile(MP.."/intllib.lua") - -ma_pops_furniture.intllib = S -dofile(minetest.get_modpath('ma_pops_furniture')..'/toaster.lua') -dofile(minetest.get_modpath('ma_pops_furniture')..'/intllib.lua') \ No newline at end of file +dofile(minetest.get_modpath('ma_pops_furniture')..'/toys.lua') +dofile(minetest.get_modpath('ma_pops_furniture')..'/tools.lua') +dofile(minetest.get_modpath('ma_pops_furniture')..'/functions.lua') +dofile(minetest.get_modpath('ma_pops_furniture')..'/formspecs.lua') +dofile(minetest.get_modpath('ma_pops_furniture')..'/fridge.lua') +dofile(minetest.get_modpath('ma_pops_furniture')..'/crafts.lua') \ No newline at end of file diff --git a/joyb.lua b/joyb.lua index ddb5b30..f2a3c7d 100644 --- a/joyb.lua +++ b/joyb.lua @@ -1,7 +1,7 @@ minetest.register_node("ma_pops_furniture:venext_console", { description = "jOyBoX", tiles = { - "mp_venext_top.png", + "mp_venext_top1.png", "mp_venext_bottom.png", "mp_venext_side.png", "mp_venext_side2.png", @@ -9,6 +9,7 @@ minetest.register_node("ma_pops_furniture:venext_console", { "mp_venext_front.png", }, groups = {snappy=1,bendy=2,cracky=1}, + sounds = moditems.WOOD_SOUNDS, drawtype = "nodebox", paramtype = "light", paramtype2 = 'facedir', @@ -19,7 +20,6 @@ minetest.register_node("ma_pops_furniture:venext_console", { {-0.375, -0.1875, -0.375, 0.375, -0.0625, 0.375}, {0.3125, -0.4375, -0.5, 0.375, -0.375, -0.4375}, {0.1875, -0.4375, -0.5, 0.25, -0.375, -0.4375}, - {0.25, 0.1, -0.07, -0.25, -0.4375, 0.14}, } } }) @@ -39,6 +39,7 @@ minetest.register_node("ma_pops_furniture:jOyBoX_cart", { drawtype = "nodebox", paramtype = "light", paramtype2 = 'facedir', + sounds = moditems.WOOD_SOUNDS, on_rightclick = function(pos, node, player) for _, obj in ipairs (minetest.get_connected_players()) do local item = obj:get_wielded_item():get_name() @@ -48,34 +49,6 @@ minetest.register_node("ma_pops_furniture:jOyBoX_cart", { end end end, - node_box = { - type = "fixed", - fixed = { - {-0.4375, -0.5, -0.4375, 0.4375, -0.1875, 0.4375}, - {-0.375, -0.1875, -0.375, 0.375, -0.0625, 0.375}, - {0.3125, -0.4375, -0.5, 0.375, -0.375, -0.4375}, - {0.1875, -0.4375, -0.5, 0.25, -0.375, -0.4375}, - } - } -}) - - - -minetest.register_node("ma_pops_furniture:jOyBoXrcartridge", { - description = "jOyBoX cartridge", - - tiles = { - "mp_venext_cartridge_top.png", - "mp_venext_bottom.png", - "mp_venext_cartridge_side.png", - "mp_venext_cartridge_side2.png", - "mp_venext_cartridge_back.png", - "mp_venext_cartridge_front.png", - }, - groups = {snappy=1,bendy=2,cracky=1}, - drawtype = "nodebox", - paramtype = "light", - paramtype2 = 'facedir', node_box = { type = "fixed", fixed = { @@ -92,14 +65,15 @@ minetest.register_node("ma_pops_furniture:cartridge", { description = "cartridge", tiles = { - "cartridge.png", - "cartridge_bottom.png", - "cartridge.png", - "cartridge.png", - "cartridge_back.png", - "cartridge_front.png", + "mp_cartridge.png", + "mp_cartridge_bottom.png", + "mp_cartridge.png", + "mp_cartridge.png", + "mp_cartridge_back.png", + "mp_cartridge_front.png", }, groups = {snappy=1,bendy=2,cracky=1}, + sounds = moditems.WOOD_SOUNDS, drawtype = "nodebox", paramtype = "light", paramtype2 = 'facedir', diff --git a/kitchen.lua b/kitchen.lua index 80a392d..119c12e 100644 --- a/kitchen.lua +++ b/kitchen.lua @@ -34,6 +34,7 @@ minetest.register_node("ma_pops_furniture:counter_"..color, { drawtype = "nodebox", paramtype = "light", paramtype2 = "facedir", + sounds = moditems.WOOD_SOUNDS, on_construct = function(pos) local meta = minetest.env:get_meta(pos) local inv = meta:get_inventory() @@ -158,6 +159,7 @@ minetest.register_node("ma_pops_furniture:counter2_"..color, { paramtype = "light", paramtype2 = "facedir", groups = {choppy = 2, oddly_breakable_by_hand = 2, furniture = 1}, + sounds = moditems.WOOD_SOUNDS, node_box = { type = "fixed", fixed = { @@ -260,6 +262,7 @@ minetest.register_node("ma_pops_furniture:counter3_"..color, { drawtype = "nodebox", paramtype = "light", paramtype2 = "facedir", + sounds = moditems.WOOD_SOUNDS, on_construct = function(pos) local meta = minetest.env:get_meta(pos) local inv = meta:get_inventory() @@ -382,6 +385,7 @@ minetest.register_node("ma_pops_furniture:counter1_" ..color, { }, drawtype = "nodebox", paramtype = "light", + sounds = moditems.WOOD_SOUNDS, groups = {choppy = 2, oddly_breakable_by_hand = 2, furniture = 1}, node_box = { type = "fixed", @@ -483,6 +487,7 @@ minetest.register_node("ma_pops_furniture:sink_" ..color, { drawtype = "nodebox", paramtype = "light", paramtype2 = "facedir", + sounds = moditems.WOOD_SOUNDS, on_construct = function(pos) local meta = minetest.env:get_meta(pos) local inv = meta:get_inventory() @@ -503,13 +508,13 @@ minetest.register_node("ma_pops_furniture:sink_" ..color, { node_box = { type = "fixed", fixed = { - {-0.5, -0.4375, -0.375, 0.5, 0.375, 0.5}, -- NodeBox1 - {-0.5, -0.5, -0.3125, 0.5, -0.4375, 0.5}, -- NodeBox2 + {-0.5, -0.5, -0.3125, 0.5, -0.4375, 0.5}, -- NodeBox1 + {-0.5, -0.4375, -0.375, 0.5, 0.375, 0.5}, -- NodeBox2 {-0.5, 0.375, -0.5, 0.5, 0.5, 0.5}, -- NodeBox3 - {-0.4375, -0.375, -0.4375, 0, 0.3125, -0.375}, -- NodeBox4 + {-0.4375, -0.375, -0.4375, -0.0625, 0.3125, -0.375}, -- NodeBox4 {0.0625, -0.375, -0.4375, 0.4375, 0.3125, -0.375}, -- NodeBox5 {-0.1875, -0.0625, -0.5, -0.125, 0, -0.4375}, -- NodeBox6 - {0.125, -0.0625, -0.5, 0.1875, 0, 0.5}, -- NodeBox7 + {0.125, -0.0625, -0.5, 0.1875, 0, -0.4375}, -- NodeBox7 } }, on_punch = function(pos, node, clicker) @@ -893,13 +898,13 @@ minetest.register_node("ma_pops_furniture:sink_" ..material, { node_box = { type = "fixed", fixed = { - {-0.5, -0.4375, -0.375, 0.5, 0.375, 0.5}, -- NodeBox1 - {-0.5, -0.5, -0.3125, 0.5, -0.4375, 0.5}, -- NodeBox2 + {-0.5, -0.5, -0.3125, 0.5, -0.4375, 0.5}, -- NodeBox1 + {-0.5, -0.4375, -0.375, 0.5, 0.375, 0.5}, -- NodeBox2 {-0.5, 0.375, -0.5, 0.5, 0.5, 0.5}, -- NodeBox3 - {-0.4375, -0.375, -0.4375, 0, 0.3125, -0.375}, -- NodeBox4 + {-0.4375, -0.375, -0.4375, -0.0625, 0.3125, -0.375}, -- NodeBox4 {0.0625, -0.375, -0.4375, 0.4375, 0.3125, -0.375}, -- NodeBox5 {-0.1875, -0.0625, -0.5, -0.125, 0, -0.4375}, -- NodeBox6 - {0.125, -0.0625, -0.5, 0.1875, 0, 0.5}, -- NodeBox7 + {0.125, -0.0625, -0.5, 0.1875, 0, -0.4375}, -- NodeBox7 } }, }) @@ -985,51 +990,6 @@ description = "Upper Cabinets(corner)", } }) -minetest.register_node("ma_pops_furniture:fridge", { - description= "Fridge", - tiles = { - "mp_fridge_top.png", - "mp_fridge_bottom.png", - "mp_fridge_right.png", - "mp_fridge_left.png", - "mp_fridge_back.png", - "mp_fridge_front.png" - }, - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "facedir", - groups = {choppy = 2, oddly_breakable_by_hand = 2, furniture = 1}, - on_construct = function(pos) - local meta = minetest.env:get_meta(pos) - local inv = meta:get_inventory() - inv:set_size('main', 8*4) - inv:set_size('storage', 6*4) - meta:set_string('formspec', - 'size [9,10]'.. - default.gui_bg.. - default.gui_bg_img.. - default.gui_slots.. - 'bgcolor[#080808BB;true]'.. - 'list[current_name;storage;1.5,1;6,4;]'.. - 'list[current_player;main;0.5,6;8,4;]') - end, - can_dig = function(pos,player) - local meta = minetest.get_meta(pos); - local inv = meta:get_inventory() - return inv:is_empty('storage') and inv:is_empty('storage1') - end, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.3125, 0.5, 0.5, 0.5}, -- NodeBox1 - {-0.5, -0.4375, -0.375, 0.4375, 0.5, -0.3125}, -- NodeBox2 - {0.3125, -0.25, -0.5, 0.375, 0.25, -0.4375}, -- NodeBox6 - {0.3125, -0.25, -0.4375, 0.375, -0.1875, -0.375}, -- NodeBox7 - {0.3125, 0.1875, -0.4375, 0.375, 0.25, -0.375}, -- NodeBox8 - } - } -}) - minetest.register_node("ma_pops_furniture:dw", { description= "Dishwasher", tiles = { @@ -1175,8 +1135,8 @@ minetest.register_node("ma_pops_furniture:toaster", { } }) -minetest.register_node("ma_pops_furniture:br_faucet", { - description = "Bathroom Faucet", +minetest.register_node("ma_pops_furniture:faucet_kitchen", { + description = "Kitchen Faucet", tiles = { "mp_grif_top.png", "mp_grif_sides.png", @@ -1224,6 +1184,36 @@ minetest.register_node("ma_pops_furniture:cutting_board", { } }) +minetest.register_node("ma_pops_furniture:tile_kitchen", { + description = "White Kitchen Tile", + tiles = { + "mp_kitchen_tile.png", + "mp_kitchen_tile.png", + "mp_kitchen_tile.png", + "mp_kitchen_tile.png", + "mp_kitchen_tile.png", + "mp_kitchen_tile.png" + }, + paramtype = "light", + paramtype2 = "facedir", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, +}) + +minetest.register_node("ma_pops_furniture:tile_floor_kitchen", { + description = "Checker Kitchen Floor Tile", + tiles = { + "mp_kitchen_floor_tile.png", + "mp_kitchen_floor_tile.png", + "mp_kitchen_floor_tile.png", + "mp_kitchen_floor_tile.png", + "mp_kitchen_floor_tile.png", + "mp_kitchen_floor_tile.png" + }, + paramtype = "light", + paramtype2 = "facedir", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, +}) + minetest.register_node('ma_pops_furniture:trash_can', { description = 'Trash Can', drawtype = 'nodebox', @@ -1240,7 +1230,7 @@ minetest.register_node('ma_pops_furniture:trash_can', { {-0.125, 0.4375, -0.3125, 0.125, 0.5, 0.3125}, -- NodeBox3 } }, - sounds = default.node_sound_stone_defaults(), + sounds = moditems.WOOD_SOUNDS, on_construct = function(pos) local meta = minetest.get_meta(pos) meta:set_string("formspec", diff --git a/living_room.lua b/living_room.lua index b960de4..869a89a 100644 --- a/living_room.lua +++ b/living_room.lua @@ -6,7 +6,7 @@ minetest.register_node('ma_pops_furniture:fireplace', { groups = {cracky=2, oddly_breakable_by_hand=6, furniture=1}, paramtype = 'light', paramtype2 = 'facedir', - sounds = default.node_sound_stone_defaults(), + sounds = moditems.STONE_SOUNDS, on_construct = function(pos) local meta = minetest.env:get_meta(pos) local inv = meta:get_inventory() @@ -32,7 +32,7 @@ minetest.register_node('ma_pops_furniture:fireplace_on', { paramtype = 'light', paramtype2 = 'facedir', drops = 'ma_pops_furniture:fireplace', - sounds = default.node_sound_stone_defaults(), + sounds = moditems.STONE_SOUNDS, can_dig = function(pos,player) local meta = minetest.get_meta(pos); local inv = meta:get_inventory() @@ -61,7 +61,17 @@ minetest.register_node('ma_pops_furniture:c_'..material, { groups = {choppy=2, oddly_breakably_by_hand=2, furniture=1, flammable=1}, paramtype = 'light', paramtype2 = 'facedir', - sounds = default.node_sound_wood_defaults(), + on_rightclick = function (pos, node, player, itemstack, pointed_thing) + for _, obj in ipairs (minetest.get_connected_players()) do + local item = obj:get_wielded_item():get_name() + if item == 'ma_pops_furniture:c_'..material then + node.name = 'ma_pops_furniture:end_table_'..material + minetest.set_node(pos, node) + else + end + end +end, + sounds = moditems.WOOD_SOUNDS, node_box = { type = "fixed", fixed = { @@ -97,7 +107,7 @@ minetest.register_node('ma_pops_furniture:end_table_'..material, { groups = {choppy=2, oddly_breakably_by_hand=2, furniture=1, flammable=1}, paramtype = 'light', paramtype2 = 'facedir', - sounds = default.node_sound_wood_defaults(), + sounds = moditems.WOOD_SOUNDS, node_box = { type = "fixed", fixed = { @@ -131,6 +141,7 @@ minetest.register_node("ma_pops_furniture:e_u_"..material, { drawtype= "nodebox", paramtype= "light", paramtype2 = "facedir", + sounds = moditems.WOOD_SOUNDS, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, furniture = 1}, on_construct = function(pos) local meta = minetest.env:get_meta(pos) @@ -175,6 +186,7 @@ minetest.register_node('ma_pops_furniture:vcr_on', { paramtype= "light", paramtype2 = "facedir", drop = 'ma_pops_furniture:vcr_off', + sounds = moditems.WOOD_SOUNDS, groups = {choppy = 2, oddly_breakable_by_hand = 2, not_in_creative_inventory=1, furniture = 1}, node_box= { type= "fixed", @@ -203,6 +215,7 @@ minetest.register_node('ma_pops_furniture:vcr_off', { paramtype= "light", paramtype2 = "facedir", drop = 'ma_pops_furniture:vcr_off', + sounds = moditems.WOOD_SOUNDS, groups = {choppy = 2, oddly_breakable_by_hand = 2, furniture = 1}, node_box= { type= "fixed", @@ -383,6 +396,7 @@ minetest.register_node("ma_pops_furniture:fs_"..color, { tiles = {"wool_"..color..".png","wool_"..color..".png^mp_cb.png","wool_"..color..".png^mp_cf.png","wool_"..color..".png^mp_cf.png","wool_"..color..".png^mp_cf.png","wool_"..color..".png^mp_cf.png",}, drawtype = "nodebox", paramtype = "light", + sounds = moditems.WOOD_SOUNDS, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, furniture = 1}, node_box = { type = "fixed", diff --git a/microwave.lua b/microwave.lua index 5988969..3a8a496 100644 --- a/microwave.lua +++ b/microwave.lua @@ -2,25 +2,27 @@ --item_percent code by Noodlemire local microwave_fs = - "size[8,7]" - .."button[6.5,1.5;1.5,2;btn_start;START]" - .."image[6.5,.2;1.5,.5;mp_mw_bar.png^[transformR270]" - .."list[current_player;main;0,3;8,1;]" - .."list[current_player;main;0,4.25;8,3;8]" - .."list[context;cook_slot;3.5,1.25;1,1;]" - .."label[3,0.5;Microwave]" + "size[9,9.5]" + .."background[0,0;9,4.5;mp_microwave_GUI.png]" + .."image_button[6.88,3.45;.85,.84;mp_microwave_start.png;btn_start;start]" + .."image[7.05,.05;2,.4;mp_mw_bar.png^[transformR270]" + .."list[current_player;main;.5,5;8,1;]" + .."list[current_player;main;.5,6.5;8,3;8]" + .."list[context;cook_slot;3.3,3;1,1;]" + .."label[1.5,0.4;Microwave]" -- possibly add "fire" image? local function get_active_microwave_fs(item_percent) - return "size[8,7]" - .."button[6.5,1.5;1.5,2;button_start;START]" - .."image[6.5,.2;1.5,.5;mp_mw_bar.png^[lowpart:" - ..(item_percent)..":mp_mw_bar_on.png^[transformR270]" - .."list[current_player;main;0,3;8,1;]" - .."list[current_player;main;0,4.25;8,3;8]" - .."list[context;cook_slot;3.5,1.25;1,1;]" - .."label[3,0.5;Microwave]" - -- possibly add "fire" image? + return "size[9,9.5]" + .."background[0,0;9,4.5;mp_microwave_GUI.png]" + .."image_button[6.88,3.45;.85,.84;mp_microwave_start.png;btn_start;start]" + .."image[7.05,.05;2,.4;mp_mw_bar.png^[lowpart:" + ..(item_percent)..":mp_mw_bar_on.png^[transformR270]" + .."list[current_player;main;.5,5;8,1;]" + .."list[current_player;main;.5,6.5;8,3;8]" + .."list[context;cook_slot;3.3,3;1,1;]" + .."label[1.5,0.4;Microwave]" + -- possibly add "fire" image? end --x,y;w,h @@ -32,34 +34,34 @@ microwave.recipes = {} function microwave.register_recipe(input, output) microwave.recipes[input] = output end local function update_formspec(progress, goal, meta) - local formspec + local formspec - if progress > 0 and progress <= goal then - local item_percent = math.floor(progress / goal * 100) - formspec = get_active_microwave_fs(item_percent) - else - formspec = microwave_fs - end + if progress > 0 and progress <= goal then + local item_percent = math.floor(progress / goal * 100) + formspec = get_active_microwave_fs(item_percent) + else + formspec = microwave_fs + end - meta:set_string("formspec", formspec) + meta:set_string("formspec", formspec) end local function recalculate(pos) local meta, timer = minetest.get_meta(pos), minetest.get_node_timer(pos) local inv = meta:get_inventory() local stack = inv:get_stack("cook_slot", 1) - local goal = 3 * stack:get_count() + local goal = 3 * stack:get_count() local k = microwave.recipes[stack:get_name()] if not k then return end timer:stop() - update_formspec(0, goal, meta) - timer:start(1) + update_formspec(0, goal, meta) + timer:start(1) end local function do_cook_all(pos) - local meta = minetest.get_meta(pos) + local meta = minetest.get_meta(pos) local inv = meta:get_inventory() local stack = meta:get_inventory():get_stack("cook_slot", 1) local food_uncooked = inv:remove_item("cook_slot", inv:get_stack("cook_slot", 1)) -- Clear the slot @@ -72,12 +74,12 @@ minetest.register_node("ma_pops_furniture:microwave", { tiles = {"mp_mw_top.png", "mp_mw_bottom.png", "mp_mw_right.png", "mp_mw_left.png", "mp_mw_back.png", "mp_mw_front.png"}, paramtype2 = "facedir", groups = {cracky = 2}, -- currently no pipeworks compat as I don't know how it works - sounds = default.node_sound_stone_defaults(), + sounds = moditems.STONE_SOUNDS, drawtype = "nodebox", node_box = { type = "fixed", fixed = { - {-0.4375, -0.4375, -0.3125, 0.4375, 0.0625, 0.3125}, + {-0.4375, -0.4375, -0.3125, 0.4375, 0.0625, 0.3125}, {-0.375, -0.5, -0.25, 0.375, -0.4375, 0.25}, }, }, @@ -89,23 +91,23 @@ minetest.register_node("ma_pops_furniture:microwave", { on_timer = function(pos, elapsed) local meta = minetest.get_meta(pos) - local stack = meta:get_inventory():get_stack("cook_slot", 1) - local goal = 3 * stack:get_count() - local cooking_time = meta:get_int("cooking_time") or 0 - cooking_time = cooking_time + 1 + local stack = meta:get_inventory():get_stack("cook_slot", 1) + local goal = 3 * stack:get_count() + local cooking_time = meta:get_int("cooking_time") or 0 + cooking_time = cooking_time + 1 - update_formspec(cooking_time, goal, meta) - meta:set_int("cooking_time", cooking_time) + update_formspec(cooking_time, goal, meta) + meta:set_int("cooking_time", cooking_time) - --Keep cooking until there is nothing left to cook. - if cooking_time <= goal then - return true - else - do_cook_all(pos) - meta:set_int("cooking_time", 0) - update_formspec(0, goal, meta) - return false - end + --Keep cooking until there is nothing left to cook. + if cooking_time <= goal then + return true + else + do_cook_all(pos) + meta:set_int("cooking_time", 0) + update_formspec(0, goal, meta) + return false + end end, --on_metadata_inventory_put = recalculate, @@ -117,12 +119,13 @@ minetest.register_node("ma_pops_furniture:microwave", { local inv = meta:get_inventory() inv:set_size("cook_slot", 1) end, - on_receive_fields = function(pos, _, fields) - if fields.quit then return end - if fields.btn_start then - recalculate(pos) - end - end, + + on_receive_fields = function(pos, _, fields) + if fields.quit then return end + if fields.btn_start then + recalculate(pos) + end + end, on_blast = function(pos) local drops = {} @@ -136,22 +139,24 @@ minetest.register_node("ma_pops_furniture:microwave", { return microwave.recipes[stack:get_name()] and stack:get_count() or 0 end, - --Only allow items to be taken if the microwave hasn't started yet - allow_metadata_inventory_take = function(pos, listname, index, stack, player) - if not minetest.get_node_timer(pos):is_started() then - return stack:get_count() - else - return 0 - end - end + --Only allow items to be taken if the microwave hasn't started yet + allow_metadata_inventory_take = function(pos, listname, index, stack, player) + if not minetest.get_node_timer(pos):is_started() then + return stack:get_count() + else + return 0 + end + end }) -- Recipe Registration microwave.register_recipe("default:ice", "default:water_source") -- No milk bucket as this doesn't support substitutes for now -microwave.register_recipe("mobs_mc:chicken_raw", "test:chicken_cooked") +microwave.register_recipe("mobs_mc:chicken_raw", "mobs_mc:chicken_cooked") --[[ We don't need to check mod existance when registering recipe Recipe won't even be executed if there is no raw chicken in input ]]-- -microwave.register_recipe("mobs_mc:beef_raw", "test:beef_cooked") +microwave.register_recipe("mobs_mc:beef_raw", "mobs_mc:beef_cooked") +microwave.register_recipe("mobs:meat_raw", "mobs:meat") microwave.register_recipe("farming:coffee_cup", "farming:coffee_cup_hot") -- What a crutch there was... +microwave.register_recipe("farming:corn", "farming:corn_cob") -- Add needed recipes as you go, note that other mods can add more recipes too diff --git a/misc.lua b/misc.lua index 182f03a..6ef63da 100644 --- a/misc.lua +++ b/misc.lua @@ -110,7 +110,7 @@ minetest.register_node("ma_pops_furniture:smoke_detector_on", { end, drawtype = "nodebox", paramtype = "light", - light_source = default.LIGHT_MAX - 1, + light_source = light, node_box = { type = "fixed", fixed = { @@ -138,12 +138,12 @@ minetest.register_node("ma_pops_furniture:barrel", { paramtype2 = "facedir", place_param2 = 0, tiles = { - "ws_barrel.png", --top - "ws_barrel.png", --bottom - "ws_barrel.png^[transformR90", --right - "ws_barrel.png^[transformR90", --left - "ws_barrel_top.png", --back - "ws_barrel_top.png" --front + "mp_barrel.png", --top + "mp_barrel.png", --bottom + "mp_barrel.png^[transformR90", --right + "mp_barrel.png^[transformR90", --left + "mp_barrel_top.png", --back + "mp_barrel_top.png" --front }, is_ground_content = false, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1}, @@ -310,7 +310,7 @@ end, }) minetest.register_node("ma_pops_furniture:fan_on", { - description = "fan (on)", + description = "Fan (on)", tiles = { "default_coral_skeleton.png", "default_coral_skeleton.png", @@ -342,7 +342,7 @@ end, } }) minetest.register_node("ma_pops_furniture:fan_off", { - description = "fan", + description = "Fan", tiles = { "default_coral_skeleton.png", "default_coral_skeleton.png", @@ -354,7 +354,6 @@ minetest.register_node("ma_pops_furniture:fan_off", { drawtype = "nodebox", drop = 'ma_pops_furniture:fan_off', paramtype2 = "facedir", - light_source = 14, on_rightclick = function (pos, node, player, itemstack, pointed_thing) node.name = "ma_pops_furniture:fan_on" minetest.set_node(pos, node) @@ -1063,7 +1062,7 @@ minetest.register_node("ma_pops_furniture:computer", { paramtype = "light", paramtype2 = "facedir", groups = {snappy=2, oddly_breakable_by_hand=2, furniture=1, flammable=1}, - sounds = default.node_sound_wood_defaults(), + sounds = moditems.WOOD_SOUNDS, node_box = { type = "fixed", fixed = { @@ -1217,4 +1216,136 @@ minetest.register_node("ma_pops_furniture:stool_"..color, { end end }) -end \ No newline at end of file +end + +minetest.register_node("ma_pops_furniture:stairs", { + description= "Stairs", + tiles = { + "default_coral_skeleton.png", + "default_coral_skeleton.png", + "default_coral_skeleton.png^mp_stairs_side.png", + "default_coral_skeleton.png^mp_stairs_side.png^[transformFX", + "default_coral_skeleton.png^mp_stairs_back.png", + "default_coral_skeleton.png^mp_stairs_front.png" + }, + drawtype = "mesh", + mesh= "stairs.obj", + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky = 3, oddly_breakable_by_hand = 3}, + node_box = { + type = "fixed", + fixed = { + {-0.5, 0.375, 0, 0.5, 0.5, 0.5}, -- NodeBox18 + {-0.5, -0.125, -0.5, 0.5, 0, 0}, -- NodeBox19 + {-0.0625, -0.375, -0.3125, 0.0625, -0.125, -0.1875}, -- NodeBox20 + {-0.0625, -0.25, 0.1875, 0.0625, 0.375, 0.3125}, -- NodeBox21 + {-0.0625, -0.375, -0.1875, 0.0625, -0.25, 0.3125}, -- NodeBox23 + {-0.0625, -0.25, 0.0625, 0.0625, -0.125, 0.1875}, -- NodeBox24 + } + } +}) + +minetest.register_node("ma_pops_furniture:lamp_1", { + description = "lamp", + tiles = { + "default_stone.png", + "default_stone.png", + "default_stone.png", + "default_stone.png", + "default_stone.png", + "default_stone.png" + }, + groups = {cracky=2, oddly_breakable_by_hand=3}, + on_construct = function(pos) + if minetest.get_node(vector.add(pos, vector.new(0, 1, 0))).name == "air" then + minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z}, {name = "ma_pops_furniture:lamp_2_off"}) + end + + if minetest.get_node(vector.add(pos, vector.new(0, 1, 0))).name ~= "air" then + if minetest.get_node(vector.add(pos, vector.new(0, 1, 0))).name ~= "ma_pops_furniture:lamp_2_off" then + minetest.set_node({x = pos.x, y = pos.y, z = pos.z},{name = "air"}) + end + end + + end, + + on_dig = function(pos, node, player) + minetest.set_node({x = pos.x , y = pos.y + 1, z = pos.z}, {name = "air"}) + minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "air"}) + end, + + drawtype = "nodebox", + paramtype = "light", + node_box = { + type = "fixed", + fixed = { + {-0.25, -0.5, -0.25, 0.25, -0.375, 0.25}, -- NodeBox16 + {-0.0625, -0.375, -0.0625, 0.0625, 0.5, 0.0625}, -- NodeBox17 + } + } +}) + +minetest.register_node("ma_pops_furniture:lamp_2_on", { + description = "lamp2", + tiles = { + "mp_lt.png", + "mp_lt.png", + "default_stone.png^mp_ls_top.png", + "default_stone.png^mp_ls_top.png", + "default_stone.png^mp_ls_top.png", + "default_stone.png^mp_ls_top.png" + }, + groups = {cracky=2, oddly_breakable_by_hand=3, not_in_creative_inventory = 1}, + drop = "test:node_1", + on_dig = function(pos, node, player) + minetest.set_node({x = pos.x , y = pos.y - 1, z = pos.z}, {name = "air"}) + minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "air"}) + end, + drawtype = "nodebox", + paramtype = "light", + light_source = 14, + drop = 'ma_pops_furniture:lamp_2_off', + on_rightclick = function (pos, node, player, itemstack, pointed_thing) + node.name = "ma_pops_furniture:lamp_2_off" + minetest.set_node(pos, node) + end, + node_box = { + type = "fixed", + fixed = { + {-0.375, -0.0625, -0.375, 0.375, 0.5, 0.375}, -- NodeBox16 + {-0.0625, -0.5, -0.0625, 0.0625, 0.1875, 0.0625}, -- NodeBox17 + } + } +}) + +minetest.register_node("ma_pops_furniture:lamp_2_off", { + description = "lamp2", + tiles = { + "mp_lt.png", + "mp_lt.png", + "default_stone.png^mp_ls_top.png", + "default_stone.png^mp_ls_top.png", + "default_stone.png^mp_ls_top.png", + "default_stone.png^mp_ls_top.png" + }, + groups = {cracky=2, oddly_breakable_by_hand=3, not_in_creative_inventory = 1}, + drop = "test:node_1", + on_dig = function(pos, node, player) + minetest.set_node({x = pos.x , y = pos.y - 1, z = pos.z}, {name = "air"}) + minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "air"}) + end, + drawtype = "nodebox", + paramtype = "light", + on_rightclick = function (pos, node, player, itemstack, pointed_thing) + node.name = "ma_pops_furniture:lamp_2_on" + minetest.set_node(pos, node) + end, + node_box = { + type = "fixed", + fixed = { + {-0.375, -0.0625, -0.375, 0.375, 0.5, 0.375}, -- NodeBox16 + {-0.0625, -0.5, -0.0625, 0.0625, 0.1875, 0.0625}, -- NodeBox17 + } + } +}) \ No newline at end of file diff --git a/mod.conf b/mod.conf index 7208d20..7bcf4e6 100644 --- a/mod.conf +++ b/mod.conf @@ -1,5 +1,3 @@ name = ma_pops_furniture description = A revamp of Ma and Pop's Furniture Mod -depends = default, fire, wool, dye, farming -optional_depends = mobs_mc - +optional_depends = default, fire, wool, dye, farming, mobs_mc, mcl_farming \ No newline at end of file diff --git a/models/lever1.obj b/models/lever1.obj new file mode 100644 index 0000000..b88494f --- /dev/null +++ b/models/lever1.obj @@ -0,0 +1,89 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib lever1.mtl +o Cube +v -0.171906 -0.523666 0.171906 +v -0.171906 -0.523666 -0.171906 +v 0.171906 -0.523666 -0.171906 +v 0.171906 -0.523666 0.171906 +v -0.171906 -0.386141 0.171906 +v -0.171906 -0.386141 -0.171906 +v 0.171906 -0.386141 -0.171906 +v 0.171906 -0.386141 0.171906 +v -0.068762 -0.400288 0.079551 +v -0.068762 -0.461698 -0.043501 +v 0.068762 -0.461698 -0.043501 +v 0.068762 -0.400288 0.079551 +v -0.068762 0.030396 -0.135383 +v -0.068762 -0.031014 -0.258436 +v 0.068762 -0.031014 -0.258436 +v 0.068762 0.030396 -0.135383 +vt 0.999929 0.500000 +vt 0.000071 0.500000 +vt 0.000071 0.000071 +vt 0.999929 0.000071 +vt 0.999929 0.500000 +vt 0.000071 0.500000 +vt 0.000071 0.000071 +vt 0.999929 0.000071 +vt 0.999929 0.000071 +vt 1.000000 0.187500 +vt 0.000000 0.187500 +vt 0.000071 0.000071 +vt 0.999929 0.000071 +vt 1.000000 0.187500 +vt 0.000000 0.187500 +vt 0.000000 0.187500 +vt 0.999929 0.000071 +vt 1.000000 0.187500 +vt 0.999929 0.000071 +vt 1.000000 0.187500 +vt 0.000000 0.187500 +vt 0.000071 0.000071 +vt 1.000000 1.000000 +vt -0.000000 1.000000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 1.000000 +vt -0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.000035 0.999965 +vt -0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt -0.000000 0.500000 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 1.0000 -0.0000 +vn -1.0000 0.0000 -0.0000 +vn 0.0000 -0.0000 -1.0000 +vn 1.0000 -0.0000 0.0000 +vn -0.0000 0.0000 1.0000 +vn 0.0000 0.8948 -0.4465 +vn 0.0000 -0.4465 -0.8948 +vn -0.0000 0.4465 0.8948 +vn 0.0000 -0.8948 0.4465 +usemtl Material +s off +f 1/1/1 2/2/1 3/3/1 4/4/1 +f 5/5/2 8/6/2 7/7/2 6/8/2 +f 1/9/3 5/10/3 6/11/3 2/12/3 +f 2/13/4 6/14/4 7/15/4 3/3/4 +f 3/16/5 7/7/5 8/17/5 4/18/5 +f 5/19/6 1/20/6 4/21/6 8/22/6 +f 13/23/7 16/24/7 15/25/7 14/26/7 +f 9/27/3 13/23/3 14/28/3 10/29/3 +f 10/30/8 14/31/8 15/32/8 11/33/8 +f 11/34/5 15/35/5 16/24/5 12/36/5 +f 13/37/9 9/38/9 12/39/9 16/40/9 +usemtl Material_NONE +f 9/41/10 10/42/10 11/43/10 12/44/10 diff --git a/models/lever2.obj b/models/lever2.obj new file mode 100644 index 0000000..f873430 --- /dev/null +++ b/models/lever2.obj @@ -0,0 +1,89 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib lever2.mtl +o Cube +v 0.171906 -0.523666 -0.171906 +v 0.171906 -0.523666 0.171906 +v -0.171906 -0.523666 0.171906 +v -0.171906 -0.523666 -0.171906 +v 0.171906 -0.386141 -0.171906 +v 0.171906 -0.386141 0.171906 +v -0.171906 -0.386141 0.171906 +v -0.171906 -0.386141 -0.171906 +v 0.068762 -0.400288 -0.079551 +v 0.068762 -0.461698 0.043501 +v -0.068762 -0.461698 0.043501 +v -0.068762 -0.400288 -0.079551 +v 0.068762 0.030396 0.135383 +v 0.068762 -0.031014 0.258436 +v -0.068762 -0.031014 0.258436 +v -0.068762 0.030396 0.135383 +vt 0.999929 0.500000 +vt 0.000071 0.500000 +vt 0.000071 0.000071 +vt 0.999929 0.000071 +vt 0.999929 0.500000 +vt 0.000071 0.500000 +vt 0.000071 0.000071 +vt 0.999929 0.000071 +vt 0.999929 0.000071 +vt 1.000000 0.187500 +vt 0.000000 0.187500 +vt 0.000071 0.000071 +vt 0.999929 0.000071 +vt 1.000000 0.187500 +vt 0.000000 0.187500 +vt 0.000000 0.187500 +vt 0.999929 0.000071 +vt 1.000000 0.187500 +vt 0.999929 0.000071 +vt 1.000000 0.187500 +vt 0.000000 0.187500 +vt 0.000071 0.000071 +vt 1.000000 1.000000 +vt -0.000000 1.000000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 1.000000 +vt -0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.000035 0.999965 +vt -0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt -0.000000 0.500000 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 0.8948 0.4465 +vn -0.0000 -0.4465 0.8948 +vn 0.0000 0.4465 -0.8948 +vn 0.0000 -0.8948 -0.4465 +usemtl Material +s off +f 1/1/1 2/2/1 3/3/1 4/4/1 +f 5/5/2 8/6/2 7/7/2 6/8/2 +f 1/9/3 5/10/3 6/11/3 2/12/3 +f 2/13/4 6/14/4 7/15/4 3/3/4 +f 3/16/5 7/7/5 8/17/5 4/18/5 +f 5/19/6 1/20/6 4/21/6 8/22/6 +f 13/23/7 16/24/7 15/25/7 14/26/7 +f 9/27/3 13/23/3 14/28/3 10/29/3 +f 10/30/8 14/31/8 15/32/8 11/33/8 +f 11/34/5 15/35/5 16/24/5 12/36/5 +f 13/37/9 9/38/9 12/39/9 16/40/9 +usemtl Material_NONE +f 9/41/10 10/42/10 11/43/10 12/44/10 diff --git a/models/mp_ceiling_fan.fbx b/models/mp_ceiling_fan.fbx new file mode 100644 index 0000000000000000000000000000000000000000..e033d96a82e88c2781e5ce869785a764ae1d4b46 GIT binary patch literal 187340 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 literal 0 HcmV?d00001 diff --git a/models/mp_ceiling_fan_animated.3ds b/models/mp_ceiling_fan_animated.3ds new file mode 100644 index 0000000000000000000000000000000000000000..408287928d7e69cf31136486a6b5b338cc4655b3 GIT binary patch literal 5009 zcmbtX3s6+o89spWe)%A1q=Q$;0dW#Si-wE^)23~}bYf_& zag5EwNyaE^GO2wyQDb!W0o4iO3=^AJ#WtDm<*c9!H8RTLX_HN$LRP#(@*6-kF!?&4#GXw_B(*h-xV@o0bz z9nQw5Yc_oA$@-?RKO7@NO=Df%*BH(Mj(Tq*8m>-F<+94M`y0#985zrSe_6~6{C~|z z*zaLS7BsKtP8ZaG2;u01l<0UJZ-rBQ`fP%>KYUfklNs$EGtc>cf>sZGZuP37%5x{B zsC~NQ^Vgz_4*c$Oa_{7o*`O7ge zKJ9Oo!c+DN`OerF->c8LJZ4_MF`~np^oZ7f*5w(>JE3n|+m-*;@x#9JjZbL#gq|t(9WKg?#ac_12$*zl-=_{Dtu|eYKTga{Fh!`EB5jfgeD;nSU6v zyyLG8u^s<8@A8;=7xceCZ`;?I+q=4<D%AY`c5C0*>9iBCBFiG7xN0n|J>dryOxHzn{vR>PBQH_YnSZ!BQih+L?Yr30>@o8d$oVVe{0Q*}UUu11yUTqKUu^bleSe;B z-JEUStX`M*zo}hRiABsyhp(r4UAA2A^44rf)%4M zM#KU`MTm$~7^n0&*x|6_(DGXxf&NGg3|0Pkk%+Io5b=T96efuWfXT2XDx4@D z1Wtm*&*CJsJSoPD3E;#@%1%Om`jgPIUy4W-lNC-DX}~G4(iNtQ4B#|aGZfAcGl8>U zr7BDn-vCY()1eV(DLWng=}$+?ewiXm%uzT;WCQ2I%2Ajja)I+;>Tu`KL;)Q6^bHJtgu*=0Ig8`SRy3sV)*R}?ZN>p6$`{dg$qR)a1j(g zmWc}33*moA;X`5x&?Yq1&xY0xyId?*dO2FgSscx12OZHC2qEgV7=_m%99tQQ*B~0( z8H;U>$2M?F$6_nTV;dg87EZucJctcS!4h&i(y$Fvv4j~|{^?l8nONLROrJ}cjU}`= zxOAqI56i>loQK8YGS1hRr3A}i!!l^X?x@FG-a?iM7x(VkQ)MVV_x2W;OgTAun|zKu1JbUwqd4L|cxCo+!tY4iEC`Fx^bb6)flsdFAgYJ5KD zM{I%4anWvvZTQ=fmpYMgi*MhsWgKmgVXGh3h@WnAYEe~v0W|bKeX>INyBC%!KW)a* zX1|c}OO#Da&Tf#0JPQ;u-(&3-W*Q z-Me=OVus_>*Cfa{^q7(Oas6408HP(!-x0aqSH%p+IWK*jawM+LUBwLLw&-4O3GRPX zAM=jHt%&)g$Ejk1aT(of>(*m}aSbt7^=Fy5%@iM$o8!&gG#*rMBNpT&I)`$+zF(=O|9+zUNIk2i6vDc)+mSUm1*>#;JZ+`uGQN)7<57Jk4=6M5wbnOjSGrE&s(v z-;(s6e|E zScyu*s?dsB2A@e(Aj=dkQStvoD_ReE6H&+k+S z!NG*Z74RXkV_o{!m@sHA@Af5J}%t!g*wQ26i8~Ds>Vv{yrJ<@`rvrKgW6nE z{PTBPG-~>DBy;no&b-F+shRT|{vo!Au&bg2dDP+TM{2w;>sqJ0To5=lJ7{Tt*y`cPGcBqgpfYK^JWLc_~D^ zy7Yd`%S+`q;$*dRT_Nu;_s<_iZL;%a)BgE$e>I+ZtIA`JfALO>##sMYS_At>opJgY k#o&Evm4<(?E`*WK*uO!=h=0gvo!41>1XiKLZwK7szkBE53jhEB literal 0 HcmV?d00001 diff --git a/models/mp_ceiling_fan_animated.3ds.b3d b/models/mp_ceiling_fan_animated.3ds.b3d new file mode 100644 index 0000000000000000000000000000000000000000..23e32a54d6868e929caabf676317365d0ab01389 GIT binary patch literal 32339 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 literal 0 HcmV?d00001 diff --git a/models/stairs.mtl b/models/stairs.mtl new file mode 100644 index 0000000..379df14 --- /dev/null +++ b/models/stairs.mtl @@ -0,0 +1,12 @@ +# Blender MTL File: 'None' +# Material Count: 1 + +newmtl Material +Ns 96.078431 +Ka 1.000000 1.000000 1.000000 +Kd 0.640000 0.640000 0.640000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.000000 +d 1.000000 +illum 2 diff --git a/models/stairs.obj b/models/stairs.obj new file mode 100644 index 0000000..316e498 --- /dev/null +++ b/models/stairs.obj @@ -0,0 +1,86 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +mtllib stairs.mtl +o Cube.003_Cube.004 +v -0.145056 -0.155475 -0.315349 +v -0.003360 -0.155475 -0.315288 +v -0.003419 -0.155475 -0.180255 +v -0.145114 -0.155475 -0.180316 +v -0.145056 -0.297056 -0.315349 +v -0.003360 -0.297056 -0.315288 +v -0.003419 -0.297056 -0.180255 +v -0.145114 -0.297056 -0.180316 +v -0.144081 -0.482542 -0.560711 +v -0.004195 -0.482544 -0.560650 +v -0.004623 0.545783 0.468518 +v -0.144509 0.545785 0.468457 +v -0.144121 -0.572912 -0.470414 +v -0.004235 -0.572914 -0.470353 +v -0.004664 0.455413 0.558814 +v -0.144549 0.455415 0.558754 +v -0.152012 0.474149 0.261187 +v 0.003098 0.474149 0.261254 +v 0.003040 0.474149 0.396288 +v -0.152071 0.474149 0.396220 +v -0.152012 0.332569 0.261187 +v 0.003098 0.332569 0.261254 +v 0.003039 0.332569 0.396288 +v -0.152071 0.332569 0.396221 +v -0.574097 -0.097822 -0.570914 +v 0.425903 -0.097822 -0.570481 +v 0.425694 -0.097822 -0.087989 +v -0.574306 -0.097822 -0.088422 +v -0.574097 -0.153023 -0.570914 +v 0.425903 -0.153023 -0.570481 +v 0.425694 -0.153023 -0.087989 +v -0.574306 -0.153023 -0.088422 +v -0.574319 0.518663 -0.057371 +v 0.425680 0.518663 -0.056939 +v 0.425472 0.518663 0.425554 +v -0.574528 0.518663 0.425121 +v -0.574319 0.463462 -0.057371 +v 0.425681 0.463462 -0.056938 +v 0.425472 0.463462 0.425554 +v -0.574528 0.463462 0.425121 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0004 0.0000 -1.0000 +vn 1.0000 0.0000 0.0004 +vn -0.0004 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0004 +vn 0.0003 0.7074 -0.7068 +vn -0.0003 -0.7074 0.7068 +vn 0.0003 -0.7068 -0.7074 +vn -0.0003 0.7068 0.7074 +usemtl Material +s off +f 1//1 4//1 3//1 2//1 +f 5//2 6//2 7//2 8//2 +f 1//3 2//3 6//3 5//3 +f 2//4 3//4 7//4 6//4 +f 3//5 4//5 8//5 7//5 +f 5//6 8//6 4//6 1//6 +f 9//7 12//7 11//7 10//7 +f 13//8 14//8 15//8 16//8 +f 9//9 10//9 14//9 13//9 +f 10//4 11//4 15//4 14//4 +f 11//10 12//10 16//10 15//10 +f 13//6 16//6 12//6 9//6 +f 17//1 20//1 19//1 18//1 +f 21//2 22//2 23//2 24//2 +f 17//3 18//3 22//3 21//3 +f 18//4 19//4 23//4 22//4 +f 19//5 20//5 24//5 23//5 +f 21//6 24//6 20//6 17//6 +f 25//1 28//1 27//1 26//1 +f 29//2 30//2 31//2 32//2 +f 25//3 26//3 30//3 29//3 +f 26//4 27//4 31//4 30//4 +f 27//5 28//5 32//5 31//5 +f 29//6 32//6 28//6 25//6 +f 33//1 36//1 35//1 34//1 +f 37//2 38//2 39//2 40//2 +f 33//3 34//3 38//3 37//3 +f 34//4 35//4 39//4 38//4 +f 35//5 36//5 40//5 39//5 +f 37//6 40//6 36//6 33//6 diff --git a/models/tv_lcd.zip b/models/tv_lcd.zip deleted file mode 100644 index dc3faaabe6ed86d01f411706ae013bbc96db16ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3510 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 diff --git a/outside.lua b/outside.lua index 64896e4..398c5e0 100644 --- a/outside.lua +++ b/outside.lua @@ -1,56 +1,3 @@ -local night_table = { --name, material, invimg -{'Wood Mailbox', 'wood'}, -{'Acacia Wood Mailbox', 'acacia_wood'}, -{'Aspen Wood Mailbox', 'aspen_wood'}, -{'Pine Wood Mailbox', 'pine_wood'}, -{'Jungle Wood Mailbox', 'junglewood'} -} - -for i in ipairs (night_table) do - local name = night_table[i][1] - local material = night_table[i][2] - local invimg = night_table[i][3] - -minetest.register_node('ma_pops_furniture:mailbox_'..material, { - description = name, - drawtype = 'nodebox', - tiles = {'default_'..material..'.png'}, - groups = {choppy=2, oddly_breakably_by_hand=2, furniture=1, flammable=1}, - paramtype = 'light', - paramtype2 = 'facedir', - sounds = default.node_sound_wood_defaults(), - on_construct = function(pos) - local meta = minetest.env:get_meta(pos) - local inv = meta:get_inventory() - inv:set_size('main', 8*4) - inv:set_size('storage', 3*3) - meta:set_string('formspec', - 'size [9,10]'.. - 'bgcolor[#080808BB;true]'.. - 'list[current_name;storage;3,1.5;3,3;]'.. - 'list[current_player;main;0.5,6.5;8,4;]') - end, - can_dig = function(pos,player) - local meta = minetest.get_meta(pos); - local inv = meta:get_inventory() - return inv:is_empty('storage') and inv:is_empty('storage1') - end, - node_box = { - type = "fixed", - fixed = { - {-0.125, -0.5, -0.125, 0.125, 0.75, 0.125}, -- NodeBox7 - {-0.25, 0.75, -0.3125, 0.25, 1.25, 0.3125}, -- NodeBox8 - {-0.25, 0.75, -0.5, 0.25, 0.8125, -0.25}, -- NodeBox9 - {-0.25, 1.1875, -0.5, 0.25, 1.25, -0.3125}, -- NodeBox10 - {-0.25, 0.8125, -0.5, -0.1875, 1.1875, -0.3125}, -- NodeBox11 - {0.1875, 0.75, -0.5, 0.25, 1.25, -0.3125}, -- NodeBox12 - {-0.1875, 1.125, -0.5, 0.1875, 1.1875, -0.3125}, -- NodeBox13 - {-0.1875, 0.8125, -0.5, 0.1875, 1, -0.4375}, -- NodeBox14 - } - } -}) -end - function ma_pops_furniture.register_hedge(name, def) -- register nodes @@ -203,7 +150,7 @@ minetest.register_node('ma_pops_furniture:birdbath', { groups = {cracky=2, oddly_breakable_by_hand=5, furniture=1}, paramtype = 'light', paramtype2 = 'facedir', - sounds = default.node_sound_stone_defaults(), + sounds = moditems.STONE_SOUNDS, }) minetest.register_node('ma_pops_furniture:doorbell', { @@ -220,13 +167,14 @@ minetest.register_node('ma_pops_furniture:doorbell', { groups = {cracky=2, oddly_breakable_by_hand=5, furniture=1}, paramtype = 'light', paramtype2 = 'facedir', + sounds = moditems.STONE_SOUNDS, on_rightclick = function(pos, node, clicker, itemstack) node.name = "ma_pops_furniture:doorbell_ring" minetest.swap_node(pos, node) -- one second ring. minetest.get_node_timer(pos):start(1.0) end, - sounds = default.node_sound_stone_defaults(), + sounds = moditems.STONE_SOUNDS, node_box = { type = "fixed", fixed = { @@ -256,7 +204,7 @@ minetest.register_node('ma_pops_furniture:doorbell_ring', { end, paramtype = 'light', paramtype2 = 'facedir', - sounds = default.node_sound_stone_defaults(), + sounds = moditems.STONE_SOUNDS, node_box = { type = "fixed", fixed = { @@ -275,7 +223,7 @@ minetest.register_node('ma_pops_furniture:stone_path_1', { groups = {cracky=2, oddly_breakable_by_hand=5, furniture=1}, paramtype = 'light', paramtype2 = 'facedir', - sounds = default.node_sound_stone_defaults(), + sounds = moditems.STONE_SOUNDS, selection_box = { type = 'fixed', fixed = {-.5, -.5, -.5, .5, -.4, .5}, @@ -301,7 +249,7 @@ minetest.register_node('ma_pops_furniture:stone_path_'..i, { groups = {cracky=2, oddly_breakable_by_hand=5, furniture=1, not_in_creative_inventory=1}, paramtype = 'light', paramtype2 = 'facedir', - sounds = default.node_sound_stone_defaults(), + sounds = moditems.STONE_SOUNDS, drop = 'ma_pops_furniture:stone_path_1', selection_box = { type = 'fixed', @@ -327,6 +275,7 @@ minetest.register_node("ma_pops_furniture:outdoor_lamp", { drawtype = "nodebox", paramtype = "light", paramtype2 = "facedir", + sounds = moditems.STONE_SOUNDS, on_rightclick = function (pos, node, player, itemstack, pointed_thing) node.name = "ma_pops_furniture:outdoor_lamp_on" minetest.set_node(pos, node) @@ -355,6 +304,7 @@ minetest.register_node("ma_pops_furniture:outdoor_lamp_on", { paramtype2 = "facedir", light_source = 14, drop = 'ma_pops_furniture:outdoor_lamp', + sounds = moditems.STONE_SOUNDS, on_rightclick = function (pos, node, player, itemstack, pointed_thing) node.name = "ma_pops_furniture:outdoor_lamp" minetest.set_node(pos, node) @@ -366,4 +316,24 @@ end, {-0.125, 0.25, -0.125, 0.125, 0.5, 0.125}, }, } +}) + +minetest.register_node("ma_pops_furniture:trampoline", { + description = "Trampoline", + tiles = {"mp_trampoline_top.png", "default_coal_block.png", "mp_trampoline_side.png"}, + drawtype="nodebox", + paramtype2="facedir", + paramtype="light", + groups = {cracky=3, oddly_breakable_by_hand=1, fall_damage_add_percent=-80, bouncy=90}, + sounds = {wood = {name="xdecor_bouncy", gain=0.8}}, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.3125, -0.5, 0.5, 0, 0.5}, -- NodeBox1 + {0.1875, -0.5, 0.1875, 0.5, -0.3125, 0.5}, -- NodeBox2 + {-0.5, -0.5, 0.1875, -0.1875, -0.3125, 0.5}, -- NodeBox3 + {-0.5, -0.5, -0.5, -0.1875, -0.3125, -0.1875}, -- NodeBox4 + {0.1875, -0.5, -0.5, 0.5, -0.3125, -0.1875}, -- NodeBox5 + }, + } }) \ No newline at end of file diff --git a/oven.lua b/oven.lua index e177501..f8d96b5 100644 --- a/oven.lua +++ b/oven.lua @@ -87,7 +87,7 @@ minetest.register_node("ma_pops_furniture:oven", { groups = {cracky = 2, tubedevice = 1, tubedevice_receiver = 1}, legacy_facedir_simple = true, is_ground_content = false, - sounds = default.node_sound_stone_defaults(), + sounds = moditems.STONE_SOUNDS, drawtype = "nodebox", node_box = { type = "fixed", diff --git a/sofa.lua b/sofa.lua index b185bf4..4bf1deb 100644 --- a/sofa.lua +++ b/sofa.lua @@ -57,7 +57,7 @@ minetest.register_node('ma_pops_furniture:sofa_'..color, { description = name..' Sofa', drawtype = 'mesh', mesh = 'FM_sofa.obj', - tiles = {'wool_'..color..'.png'}, + tiles = {'wool_'..color..'.png'}, groups = {cracky=3, oddly_breakable_by_hand=2, flammable=1, furniture=1, fall_damage_add_percent=-80, bouncy=80}, --inventory_image = 'mp_sofa.png^[colorize:'..hex, paramtype = "light", @@ -97,7 +97,7 @@ minetest.register_node('ma_pops_furniture:sofa_l_'..color, { description = name..' Sofa', drawtype = 'mesh', mesh = 'FM_sofa_l.obj', - tiles = {'wool_'..color..'.png'}, + tiles = {'wool_'..color..'.png'}, groups = {cracky=3, oddly_breakable_by_hand=2, flammable=1, not_in_creative_inventory=1, fall_damage_add_percent=-80, bouncy=80}, drop = 'ma_pops_furniture:sofa_'..color, paramtype = "light", @@ -136,7 +136,7 @@ minetest.register_node('ma_pops_furniture:sofa_m_'..color, { description = name..' Sofa', drawtype = 'mesh', mesh = 'FM_sofa_m.obj', - tiles = {'wool_'..color..'.png'}, + tiles = {'wool_'..color..'.png'}, groups = {cracky=3, oddly_breakable_by_hand=2, flammable=1, not_in_creative_inventory=1, fall_damage_add_percent=-80, bouncy=80}, drop = 'ma_pops_furniture:sofa_'..color, paramtype = "light", @@ -208,7 +208,7 @@ minetest.register_node('ma_pops_furniture:sofa_c_'..color, { description = name..' Sofa', drawtype = 'mesh', mesh = 'FM_sofa_c.obj', - tiles = {'wool_'..color..'.png'}, + tiles = {'wool_'..color..'.png'}, groups = {cracky=3, oddly_breakable_by_hand=2, flammable=1, not_in_creative_inventory=1, furniture=1, fall_damage_add_percent=-80, bouncy=80}, drop = 'ma_pops_furniture:sofa_'..color, paramtype = "light", diff --git a/sounds/275072__kwahmah-02__doorbell-a.ogg b/sounds/275072__kwahmah-02__doorbell-a.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b02249ab69b9a8973081e18d12c10b76dadc1676 GIT binary patch literal 24543 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 literal 0 HcmV?d00001 diff --git a/textures/breadslice.png b/textures/breadslice.png deleted file mode 100644 index 2d04ab035cb358d811810a57dc10bc47000581d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 482 zcmV<80UiE{P)Ko)^6r=K5HEc=`!@ z2?i<99Q^tGiU>G5S&$?GOre zEr^Io#2_TF=tH2v2q6MO`vejMq9j5>3Qz*kcLp*D4*!W%s7f6L|vJMd>I9Dy|za#64AUdUVS49U>$Q5KJ<<(k&P>gn= zT0xQ6wWnZ9klHq)$07*qoM6N<$f{sVWQ~&?~ diff --git a/textures/ws_barrel.png b/textures/mp_barrel.png similarity index 100% rename from textures/ws_barrel.png rename to textures/mp_barrel.png diff --git a/textures/ws_barrel_top.png b/textures/mp_barrel_top.png similarity index 100% rename from textures/ws_barrel_top.png rename to textures/mp_barrel_top.png diff --git a/textures/mp_boygame.png b/textures/mp_boygame.png new file mode 100644 index 0000000000000000000000000000000000000000..8eb3cfdb4ae4cb32e59b82c3fedefed27978b3d7 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QJXZF{R^94{%xu=U` zh=qUhkN^MeT_sj4Xi7LM*zNvgZ`ZRB0?zFh_x7%WfXN n%zv&eQH0MDXvN1L_RI`UZl_#-eSVS!bOM8?tDnm{r-UW|RFqHt literal 0 HcmV?d00001 diff --git a/textures/mp_boygame_back.png b/textures/mp_boygame_back.png new file mode 100644 index 0000000000000000000000000000000000000000..eaed4747d46b56d90c0d97c2d20207b8d72fed00 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ+r@loG*ZC0z6$DLoEE4p4rIT5WsWf!kZ&uJ`-o&XszV?E3_d%rz`x3)zV3SK5^Zh ztAGCQ+lXr`zA>MbpCc`0yTL$8g13jwjd^k7#RC}$CSY#yN^Zf7H|pP=F6aQwX7F_N Kb6Mw<&;$UUI!Rvu literal 0 HcmV?d00001 diff --git a/textures/mp_boygame_front.png b/textures/mp_boygame_front.png new file mode 100644 index 0000000000000000000000000000000000000000..4798d5ee40929dc3b2b1f3cdbcc7e4129a803b1c GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3(J+r@loG*ZCJUm?- zLoEE4p18=#pulq^!2NZ`-9I8Ojwk##e8`wR@d>vZ^Ww&f2Qm^&45TD@d)N?Mx$JAV k%0rj#eqV3XKi!Zq@yO5AsKSQrKr!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QJXZF{R^94|iwWo_? zh=u>s6N-EX40sqe{`r47(p|lI9-EKN?%&*-6U5FmMH+CY9n_h@3gbL~dHs89W&U$U YX|JEkyM<5e2O7iR>FVdQ&MBb@0M*AjSpWb4 literal 0 HcmV?d00001 diff --git a/textures/mp_boygame_right.png b/textures/mp_boygame_right.png new file mode 100644 index 0000000000000000000000000000000000000000..cdb4b4e632006c6c6b09305d6746359d72e3afad GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QJXZF{R^94|iyQhm| zh=u>sQ;u8=3Oq*~=HHvYzDq-{sFN%BR)Y5@*2Rq%4`d{m7)VL*_OQ7zBe?mG&l+AU i4G&#bJHJ2wlGQKwAL_cv%TED~WbkzLb6Mw<&;$TtmOdi@ literal 0 HcmV?d00001 diff --git a/textures/mp_boygame_top.png b/textures/mp_boygame_top.png new file mode 100644 index 0000000000000000000000000000000000000000..83544998d9457ac5efce734d9b043a4792c88547 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3(J+r@loG*ZC>^)r^ zLoEE4o-*WOFyJ|Sz~-)f`STz_0ogpkS=-_bq$GHI*xZ;GH(orDkzj(vt#F!@_ileN ZgYns)`X^3$b_0!K@O1TaS?83{1OTmRIaUAw literal 0 HcmV?d00001 diff --git a/textures/mp_breadmaker_back.png b/textures/mp_breadmaker_back.png new file mode 100644 index 0000000000000000000000000000000000000000..b42a6456d4ad94b3553c56c474364a09fe8e7483 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!phSslL`iUdT1k0gQ7S`0VrE{6US4X6f{C7? zp4neN&KE#6Z#-QbLn7SYPB-LgF%WRIJ!E!Iv3 zxdPoRaw--l>v<%$d`#xNaX|Zn2-|Zd_MNS)Q-X{iifdh9+c53X^E>Nar!CrZz<@`& zk^S6Gwbp&_Cp+|At5V5R{g5drF4WB3**Hflfc2enLeI>O+}lx2+!I+Wuifg@(0_2e z`9W84)1BHwqEA_N{%+Ae#aZ;7Gkl8hlWW@_TyovAZnbygH-+b)d|%|7ma`c)ZtmbJ z$nA5iKEkr&o1CN110BQ0C;dU|&KhR$7wK^qytO?v-{G(Er^Rp1zr4Pr!C~_r#%s2F V&#(KnbT81~44$rjF6*2UngDufm+Sxl literal 0 HcmV?d00001 diff --git a/textures/mp_breadmaker_side.png b/textures/mp_breadmaker_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e090babca8cb287ac6634810504900036493bcbf GIT binary patch literal 321 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!phSslL`iUdT1k0gQ7S`0VrE{6US4X6f{C7? zp4neN&KE#6n><|{Ln7SYPB-K_Y{27M+oHF#ng8L@Y`1*LyNc}wUtX1cZFZG5-{LGf z#gSi*!*Pkd#AA!Y6^}3K-rc>yX8QM<1=0tq_d88VmvV|wyjp#Q`G`ci$5WQ*Y`>s+ zvx8e3n-1*z)>_5zh^^ml+LZ4LBsMbaVm#)2<95;? zo0eCM$GS7JPks8Uw249NffwVCpDJg~zVBju6YBHg-wXjR#yQnYRdP{wnvWl90A0`E M>FVdQ&MBb@0QvlPvj6}9 literal 0 HcmV?d00001 diff --git a/textures/mp_breadmaker_top.png b/textures/mp_breadmaker_top.png new file mode 100644 index 0000000000000000000000000000000000000000..fe3ed766cb030f8766622fe8f4a19974ec273b52 GIT binary patch literal 464 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%G}c0*}aI z1_r)EAj~ML;ne^XlqhkHC<)F_D=AMbN@XZW%*-p%%S$a$FwryAGyChu`GSFg(a+Px zF(ktM?R3L+O%4KWwv8J<^2szYMR{9!$0cU_Cp~Fc|Ap-y^W6G-XVS#Wo^ITf@Nj-j zWcsu-|DC7okiO)a(X#o2v9VQn?UnMU43X33GKls|o^%Kl=@+P+H@`vnK>5RvUyMu2 z9PYDdoc_d6a`@TzGWjpZ1cawu%e^fXusA;SDkBT?m$Uz+*@`))U7O5&WES%o#fY%C z4RrE#dYM$F5uw|~@fet$rhg13s{bR4cJ*c#wX+9fc(7q0)Tg|TbS{Q4YYna!_HT>UH z@7FMeeX`u27hAv0>q%RZ&-aJXi=!J%{%82SvJu6{1-oD!M< DWEHts literal 0 HcmV?d00001 diff --git a/textures/mp_breadmaker_top2.png b/textures/mp_breadmaker_top2.png new file mode 100644 index 0000000000000000000000000000000000000000..90f64710b8a6dde58bd45a35ed7db9cf47f6a864 GIT binary patch literal 464 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 Hu0mjf6+L0O literal 0 HcmV?d00001 diff --git a/textures/mp_dfridge_bottom.png b/textures/mp_dfridge_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..6737b51596457345e85c139c4c2f4f0300dce6d4 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr`&Kd&-_3sb}M25LTV# j&MRS>aHZj33Il_M0`tV@O@||a3K=|I{an^LB{Ts5BTW_l literal 0 HcmV?d00001 diff --git a/textures/mp_dfridge_front.png b/textures/mp_dfridge_front.png new file mode 100644 index 0000000000000000000000000000000000000000..bc93d8710a4fbe195a8f6b9d641ace1310e41697 GIT binary patch literal 2166 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 literal 0 HcmV?d00001 diff --git a/textures/mp_dfridge_right.png b/textures/mp_dfridge_right.png new file mode 100644 index 0000000000000000000000000000000000000000..ba46483a99849bb31880e600f2e337d86e0e6303 GIT binary patch literal 2171 zcmV->2!!{EP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O1bvvg9ZX{MRYw2uNZ*4mKuYZqUb{1cMjqRZq-B z+wlsl5?V4PxgH(A{;u>FE-`Azx)6Qx-r%yyCdt@Db6)4l#`e$gVCLo}r|S!WNU`eq z=#QbFA$RwIV26Br%PH)`P8^1&~5g~nVp4St>4G)P0h*!2;ICJHruRHGu(aIqKtH>_eWl@79**ht=-CQLQcqkgd z)ehzqV!2}B?l(1ma2DaYFf@f>3|zi%S_S|2ei^E@l{vGC7gmT%T74mm#$5Y^76{=w zFm)YYrgJgt)reIv=sL_131+jMCN{@+ZE5FOjU%X9bM^~|G7JDB_;v^e6>ZsgR>z)A z5DCn{F@m3r$VIJeV1OMtDTq?6ss}kyns1y5+;zptDaLpK5l%hYCbmWaS=Ku1(QgqY zl*y^H&N=Ubi!QnB)m!hp_rbS0m4gNwT<{@;7*fblqm3^57-Ebm<|Iim#vCP|LW(J+ zoZ&Rv3|krc8G=nV-R$NzzlAMsY0EpxXSciC{T}wXr#%-bS}+2r_!3GispNwXl+s}j zclaY5@kmFmsI{uqR#$xuHP%$~#oA!?&DzS`?^)x)nslO?UbtC~Y+Gp7E{aC88N0di)S0U<#MZIh zFG+A+5RF^Tezj%0AQ5=ztwSV3V)pY`G{?CyCY>rImy2>rl()VC z0>guFnqLi_%jaAj(-N`jF+wh7dhinnH*iQYau7EHO_oOJQ!>{H^bAJ0z5@nH$CDNM z5>EX+wvRZ+7i40dgiS!Noa&5b!e>@1SBV(<4Ca{H3+Rv9xXWjtHtQ%(or}%Mhm4%O zP7YC@!wiP+txHScOe8P#k2M?nLN8&Yl+%!jGh%PIr93bp-US&)!Gp}ag1sLfEp=DU z#9-mduCDN__AcM6vKL}M8GnH@u%QV~niQS(KT zO6bwz>ete|dVQN=e)Px8o7U#PjzNyhwiN*QwFodFueA6`SxSm6ct-%ER~U=`o;r)*Z*M!Ng-ges%2$gV0^9 z-x0EF(W-x$YmG@On(m|3=b(@>C++8ZNj<$nzg^7vH{0#5gE0~9Zb!daZ2(h0J`=s; zn1ShDPW58(PYa(VxX1jVNakN(VBcQT`a*+VKL}>@6~BS-NdEvA0joK#LFrup00Dz( zLqkwWLqi~Na&Km7Y-Iodc$|HaJxIeq9K~N#B_fp$b`WvMP@OD@N^z7b7QsSkE41oh za_JW|F(fH2j)H5!!H>nNgNw7S4z7YA_yOYL>ZIr*CH^ldw21NGxF7HCJ?`ECLbJv+ zt7ihxblc1%6H>mgB8jgM5keSoh%&Q`RCXZ;-|=;i0AKH7Jj?&wpJPBRS_}wC#IwvW zZQ^y}_@-@e-Y1T*imVc!6OWs8LE=ZQD;~dbF1sx7%!rxG%n?V3rE(W5UCb(`Mm$X% zRW+URg}lcq=Pk}!t^Q9xAovVi=^g(@ z6PWoVz0uL4M?iQRxVY|U${ujJ0}MSGvMIY#kfu;70qW#! z41+&W_M}}DnF9pH-2Vn$1}VDhS(-&!B()`Vq31UCt7njQg zfGU6@696Q`jJvCwVX!-K-zk%W8O<#H&9$SGm(E^Ks?6p)c@kv!NjAtN(8L?klJG3Jp2sa@BY z_3G{X`}+qG?RP{Xv+nHwKxO7#F4omCgJoHWNFoBW)?al!cxnYb?@pOmmZ8}lxds7X z8XHg(;N$7(YejVKkFjPJ`@XYn+t`?vR~fTT0B>)9zDRwbs^;OIwU0nSWDGt#Hmw1k xUw-}uSl4#iUAWuajnipG5}!YvhO}kI`yV-#=go=)?acrH002ovPDHLkV1l&-4jBLd literal 0 HcmV?d00001 diff --git a/textures/mp_dfridge_top.png b/textures/mp_dfridge_top.png new file mode 100644 index 0000000000000000000000000000000000000000..751b5c68bedb96981e451836f9166be82ff8fdf6 GIT binary patch literal 1396 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 e9LFf7jDG>nN*>hTlXN2h0000?jQU z=M-}UBq5gLU@#GLgE{^ri|s0Rb-mY%9c{@n7D=X%tIhu3zs>xEgROYuG(?}gw>VsK zi8GvN=P@l=H?Hf(9?nzToDUcwft7jd_ccBvuGb5}t@!pFe>b75JaHvDGOvWvXJ$Bc zfn14%XPnl(Nj#nGAC|NJTH(|~y3I%Tdlx`PRpb*kybFmPSDrHoP)L#t8*oLOdxS^C z;;Irp@@MQLhc^OG@5Y}kD=rruGtsduf8%MzNni6fSb9W6e9p{|h-x{f_{d+Yv9*1! zE<4mwa(*r9e^|=!Fc6eF8LxSq0e=cVj5FbkHroQ#Dwet#yWu7ggYia=DrIW44_l}J zqT`(dEOTKQu_%EPmm!MlCp8WR`c#R~q(C`Am`^M;=1qM*OcpV7C5&W3vaaIOY3_mV zo==Hd>t#-4g?Pv6zWOyz}b455D)Q93;4)!G{oH zNFhgwe=chDF~k^C%!!krjj2gKg%ndtIb+i7GIC{%&j@V1$>uiQ{1&#jr7ahfPjN+y zFQLSeO0Ha`q6L`hYpAiNns?e!O1s;2_j}mmp7z{OYfYMK+I$Nww$$>e+EVpdwYzff zRimXE525dZx@z53Mf6b|DW+OSrUAeBAO)N%487Q@jQ>iNk z1>H`pjZW<@l>4aL3)N~K?N)|BeHVgLbV$MWYbu#z z=8ZYJ;h_mGOPf=2_=JJO?%^x)!kX?JBW1jq`$ultbU6OVQC4<7rXxRxnDeE$FDKk5 ze@r(-M2ExIQ1d(y)#IgO$bMhwF|j^FGFQZY(@qY}BZ5O}oqi~(|iv!OP zO;6E|O$U;^K9Xd9NwjQk>>hi~yVrm&)%;gf`+_xJ19UMIE{4)5%Gsjk0Nq;ZrWccqO)h;9#9H{Dvhyaoy#dP)6uR%*>$)+yA&q&Xnu}oe>P)t zcHxJeS+?;k7Z)l|bRJMHM75oW@&xCMEx*zrd-K0P_yo^(;RzR>iPG6(eg_Zw(OW#* ziKm?X+t*p>%J|hV$Kp3s-)m3b!*5&jri9!?SqlEoS^X1$_6rbSfJUODt^LS8Cwgj& z{@nEVMU>3{?y0T4ZKb|10004le`!NQP)S2WAaHVTW@&6?004NLeUUv#!$2IxUsEL_ zl@4|gamY}eEQm^Rlqwd%LTM|s>R@u|7c?;>DK3tJYr(;f#j1mgv#t)Vf*|+-;^OM0 z=prTlFDbN$@!+^0@9sVB-T^|h#x$#E0?>5Z%p?<1zOW*RuMiPJ7;%U)f3u8Kb|DAf z@pX>?U+-c(%m3V;V?Zrh3yvHi%EzVl4&f53nFANp+zRL1$9(WgN+!iIw=-1f3%^Q9xAovVi=^g(@6PWoVz0uL4M?iQRxVY|U${ujJ0}MSGvMIY# zkfu;70qk~>ZWK@3D+xvfb_;FgG-8*l)`nf3sPOF%-r-7bRB zXg{OT&Qh7(l3jk)fBO17*fs!Fg%rSC14zLb9T1s~s$z^HvmuE97-L`?DXn&o8emXY7?EKHlHR%!X~A9v|)+ z@cr{UGpMSK4YAsI-Rpf2TN@Ubr`muohGe!G;$AI7&Oye#Qt+-7l2*~IZ`Va{;U%v8rYVV~kw`){%>d5L0#LT=By}Z;C1rt33 zJtM=93Yk-ZiYz=`978PplYjjGZ_lO1<}=%jcg2*7uM!L?3>|FJAAWs({r^eQ2FB@n ovA_H|0#LT=By}Z;C1rt33 zJtM=93Yk-Ziqt(_978PplPi3=c9gulByi0j_m+u*RuVqthR XZ-daqV_!}KwJ>0#LT=By}Z;C1rt33 zJtM=93Yk-Ziab1B978PppHAM$%V5B9_|tzznQ7)0i+q1M&Td@jAvSrhfMx&HDvdk4*GTV*c?iRzu|cH-4a*44$rjF6*2U FngEGALqh-n diff --git a/textures/mp_fridge_right.png b/textures/mp_fridge_right.png deleted file mode 100644 index 93c1b9c00a22afb5600f9108e5d3a7eaff73ee8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJtM=93Yk-Zio88t978PplXsN76q49q_xG3m1U1RSCX@3I{QoatQ^4jk+w849M{pLy zQ9X%QYymRd4rfKG8~0#LT=By}Z;C1rt33 zJtM=93Yk-Ziu62P978PplXsN7yj1V?VFlx2wgw>Sz#O-~?(h7VGY)z)%yOlE&T?c( cWMF1y*vZGskloSs3#gO9)78&qol`;+01y~Al>h($ diff --git a/textures/mp_froz_back.png b/textures/mp_froz_back.png deleted file mode 100644 index 273be54f9ab388aeaf65769fe6cc7b84fe53ec8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vYsxEAr`&KdrDqjs%PV35LTV# j&MRS>aHZj33Il_O7xPq3*O?1|3K=|I{an^LB{Ts58aowE diff --git a/textures/mp_froz_bottom.png b/textures/mp_froz_bottom.png deleted file mode 100644 index 43ab54f94492e83f69727b4d99a7abb9fa3d568a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJtM=93Yk-Ziu62P978PplNH!~W}CgWpW-QZz~I5x*Vq4_JeY8Hx?b!re@;2mgewdJ ea;6V1)id~7a5@wko;VBC$>8bg=d#Wzp$PyQw>aAX diff --git a/textures/mp_froz_front.png b/textures/mp_froz_front.png deleted file mode 100644 index d587c6e7a99d1de70d803bc499b575d95f97920f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJtM=93Yk-Zic~yZ978PplXti%B~0#LT=By}Z;C1rt33 zJtM=93Yk-Ziab1B978PplXsN7yi^}#DA4ew(J+#2Pu*Xs7ENP@CtLz@7R<|hXR{rf zB5}ar5--Ei0|%rSF8NGkbl|yU-B8(>#N1#K@LrXTLHtAPdjH@KU7(o^p00i_>zopr E026IMV*mgE diff --git a/textures/mp_froz_right.png b/textures/mp_froz_right.png deleted file mode 100644 index 883559a5a2e148dd1d38021e190452d5c2290e12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJtM=93Yk-Ziu^rY978PpuTI>^%b>u)a<`s=?YF7Kqo*rB?yC}NF{73ACe@-Ub{a5TaY+82RyyHWI!xfeXEG0s*#dfY2CIF3Q N@O1TaS?83{1OSdTNHPEb diff --git a/textures/mp_froz_top.png b/textures/mp_froz_top.png deleted file mode 100644 index 6db1a362471fe43c10d066ec3a8e71a2fb464653..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJtM=93Yk-ZiVQtn978PplXsN7yj1V?VFlx2wgw>S!0hng>+9?PPaaG-`=lZB^0JBR gC0PX63=9|;p38GOoPBvm9jKYX)78&qol`;+07?Zso&W#< diff --git a/textures/mp_kitchen_floor_tile.png b/textures/mp_kitchen_floor_tile.png new file mode 100644 index 0000000000000000000000000000000000000000..ae101dc02a2b055d01e0888ea8ab707d2ce49eeb GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ+r@loG*ZC8a-VcLoEEyUUcL=pdjFK(bO@Be`|wV%>xEbiv!H!DqDh$*ta=Xz1#gS z)$>47&-0Rs>*pj68%Q}B928uCEi2-fV83$rz2Eowwp`oCmvEn(@5!8*qSMxTY0mJ| zd^?}NU~`q(#_r0qe7h6E-ZVvS*~g6t)pzOL+#7`a)w6&7c-7664LN?apKg7ec# z$`gxH8440J^GfvcQcDy}^bGaP{`zsg0IEs#ba4!^@P9k;Am;%C4%fT?AISM7xD_y$ z7jXU-cKSGB(zXlH_dWM3*ey9zQf?d^dSz;=pI~ESM?%A{O=nhaZJRRF@W8&wtLI#> zUt}G!&F=2POVG`oU&WquE-ikc_TnEv3mH6J{an^LB{Ts5 D4oP0I literal 0 HcmV?d00001 diff --git a/textures/mp_lp_base.png b/textures/mp_lp_base.png new file mode 100644 index 0000000000000000000000000000000000000000..6e40463b29c80b8577e2b8a8673627d62ec5f0ac GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ+r@loG*ZC)_A%&hFJJ7ow%FtPymnf=h{6iTS^+I9rqCIG5GM_ao?o%YgX$B9uAbY z_6xdt=dZq#p|eIB$5EbzGZaOPTawxW&LnLA{N#G(m(wp_wEtbVAyQB4_SaMG`?PJ} zRG<6)>0i~Eyex)m4$Z4Hk1fbsc2dAhbH^-yXM?OCb@#Sj>;1s+`WNS%RSu6?d9*(C zq-|MxwQy=&7~6tQrhAowuf=$h{3Q?Ezar(}%=LHS`#bP0 Hl+XkKl-+y1 literal 0 HcmV?d00001 diff --git a/textures/mp_lp_top.png b/textures/mp_lp_top.png new file mode 100644 index 0000000000000000000000000000000000000000..db61dd66ef45c9cb75e1a199b99288f751c1be58 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ+r@loG*ZCl001;LoEE4p4rINV8G*gv1UQjf*p|;Ll6F+uf!>`<<7zO!;N3muC(p@ zTq$)qY})i%-Iecd@1CK{x9+ot;q}zo?epYWivP1OX2K31m*<(cEq~x!ah!Js&^887 LS3j3^P6524v+g;q#3tEIa48p*oG*pBV^F-gv8c}dbT}O3%7P&EF3{iakd!Agx85v7kjb0jjy%oRtfFlzF~3KKKYON<$jWZ4<0gg8q%0g#d{YK$2X zMXo%#;>?jo>awh~C^}weu&&E6MCm8a9BFz9qpow9#kF37*%MjC+3{wqy~J|G+siyx zd^1@PMTR)J()18UU*FIZ+V!8_yl`m7`?7*B-dDGn@m&ji=qJwH8p*IY~OCzC{*-UR3S!LPM zObOE>yV$3VeP_6)dc!n&d~PopnFVRQ(n!fLHYpbyW8-qJ^cRtZtg<|5a)gn7b>DZ9 zF(gciU}P4ujL7XvX`*yxmYB?u+HpKv7P88EvrO;oVoqi$kXaB$M3%98w?c8QcvGsW z-muV;t$A-4Kq|gg6noCubO^v#R=Y|1966*DGJ=ZJsIbigL!D>mpD4Fscu$*UxAq$8mwTUvP-zx=Vfz^pM zC0TCo8M46Qvr3C)9 zL_%*EKmx1m4O4wUW`CIK6QVzCJJfh>IK5#2k+^!dT<=aP)f<*046=YY?Dwt2T%b(t z_wva|W`RXvPU2cu@^k)nwk*^w)GMXxm0sD4%mSNShUH`yyS_mdSOl);db$4dm+B1* zZATSZScv2^x3&J2uEV;M) zwjNh?8HO;3GDj490{0x(q-N1OTuY-52+~l@yC!Drs~}QuE1o;9X@O6cL6n$+Kj&2t zIq^B;nw||q7(}VXoL5f73e)`5G0QR}sVPiOmJxqjG14GO>Fkg?`BUkBQ4(pkEs5*) zU|(E~aiQ%JCyVO#36YXd39;vjb?hIQv;UIIBR>5jgR3=A9l zx&I`x0{NT;9+AZi419+{nDKc2iWH!rM2TxeNpOBzNqJ&XDnmhHW?qS2UTTSgiJqaJ zX^MLU$eJ)u7sn8d;H?uj3LY@vII`(~*qKSQB!zCCS52QYCvy!~i`4H8QfsZP-_`Xd zlvM4u6!Kd9yPM_u3#XEZ$&6<%*cN-0mmiqLlMoeNoB#Fy47*@gfxA+hrRO|9QTaVn RrUYmMgQu&X%Q~loCIHBkO$`75 literal 0 HcmV?d00001 diff --git a/textures/mp_oven_GUI.png b/textures/mp_oven_GUI.png new file mode 100644 index 0000000000000000000000000000000000000000..12e64cb9dd46d174ba7d311fb1991389bcd9baf7 GIT binary patch literal 941 zcmeAS@N?(olHy`uVBq!ia0vp^vq6}H4M>(IzU*OOU@q}=aSW-r_4dwwzuOKn2MXIJ zCnS0YvW4AiS3fmD-KkPGtgXYZL)Axj-IEiXDyrMw_t(yU-_ormd)$4$b$IBZw9P+@ zRaG@^FdbC8p>l&|Hp}b;;T)lyRRXt9pFaKX_3z)m-`LOi`e#pkfB*0G_4c+?d)MAP zar^e|=I3*yvuvk3Mwk76@Yzyqhru^DGt=`s&8}3jIsDF%6pWFmRxZw4@s+1pOnQzu zOQp1E4!f!Qft8CN{rzkEQ!vri{{4Ny%10V^-Kw;C4b4oRyG5NhDA>55x2$KI^sU-+ zGrz|0y?e0pi*)n7UVXLoRKUr2>9DGG-{rdI%^WMLE_vcw(Rc)

wAkQePliGtb2Xq^}F})d|*l`jMAH~zJL4Oyvc{Mm&fjY zzVia>iAzq_-~UE%csq(KcyqsvwECOy_247dI~`06SyJ?H;d z!{iF*{_9Eofx)``dp2G?Iwy~D%dQJgS;QSybKmt}9>Y`cE=P2+ckOiPma`$V&3657 zl&;=2GiT~zZ_9^O$;MZgwXfsfVYqzu$+S~bYtxOdKC^zB8!ASiiYiv?hagN5NCzGTXcS?B%V)~(C? z{BxCE`1X0b<}bfpWpML}glJCC%o}%Z-?{$l&UGI%OE=cpi?0aY`psc_)1)`~N{R7R zAG5QcSr0-O`I~0uEsOeel1(PVvp?{GLvi}$ns+(NX0M!Qb_Z#f3@tZr)+W9)LcGPDt0?>yLMLL@z<5r)r+$az1_GrOndjjs=h#AN?X>MSY1)EqpGfM dn{d~?_`c%&g^$h(i2}1BgQu&X%Q~loCIFVt#$x~g literal 0 HcmV?d00001 diff --git a/textures/mp_stairs_back.png b/textures/mp_stairs_back.png new file mode 100644 index 0000000000000000000000000000000000000000..d75be957c43fb3c5e9a3d97fb12c6cc1c81d4466 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QJXZF{R^94|izNd?0 zh=qUhkN^MeT_sj4XaX@0Gh+vX(ZQQNMQv&* PP%DF{tDnm{r-UW|c)BlL literal 0 HcmV?d00001 diff --git a/textures/mp_stairs_front.png b/textures/mp_stairs_front.png new file mode 100644 index 0000000000000000000000000000000000000000..17b9c0eb687b291ffe6e8d322a0e7e7f19342fbb GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QJXZF{R^94|iv!{z= zh=u>#i-ueb1{^Go|Np<_7Gqb;d6+o+KtztBlh-A#V=nvWNlOSr;qw>SLO|x(^nHKZ fF8*se$#j*GRY>)_qhjb@pm7YIu6{1-oD!M<@sK$q literal 0 HcmV?d00001 diff --git a/textures/mp_stairs_side.png b/textures/mp_stairs_side.png new file mode 100644 index 0000000000000000000000000000000000000000..afeaa3f7a099591b24dde61f752b4bdb25d5db74 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QJXZF{R^94|im#2$k zh=u>#i-vp*3LMN1|NdvT^j`4Fh{-MD>n**gWY_tmaB5@VRrXjmH>D`8jFk(PHcjJ- udbe@?%7hCW16iB%N;5ynSJWQ(!?0Y@>xgLanVUdU89ZJ6T-G@yGywp9J3%Y} literal 0 HcmV?d00001 diff --git a/textures/mp_trampoline_side.png b/textures/mp_trampoline_side.png new file mode 100644 index 0000000000000000000000000000000000000000..dfeef414f5031a73bda1f38041952c13e6c4dd16 GIT binary patch literal 536 zcmV+z0_XjSP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y9E;jv63FrU-0f|XOK~y+TZIVZhLO~2f`xfM!GYf(Q0*SDI z1y|tyTR`OC(JQG(&7WBm-QQ)G%ckAy^>WYW(|tZ4_kO>fnf;zokjHsE9+iK+UfmZF zCi)l+LJr*TcXzwpbeB>{hGOUQS*K4v91efn>F08}d<7AuOBjm+A>8SM0^iLSMxBN5 z4JCjQ%OF5;ID(Hq9*^G!(S3>Z-A<>|zeyqB$fq&*H_0!}Bf2;bjj-SEZL`@3>-E}( z!=a5vBb&`;wp=c4u~^u2I<@(HE=(p9am13zq`BR0XM@4O8jXha`+e*6db(FC6`@+K zTC3HvX0s{qT__a9mCI#w*HQ>q0CRGq+l;RP2>W z#!(AAw@JBSa1{Mx|Lcn>EKmP>1Mt zyE^^f8r{AZArE&nbZiy}%tm(vDD)!Xi^K^dq|<3R;_k4^g@t%k9#<&h9~L}FBoabA a9=9LnLR6lYdo>^c00000#LT=By}Z;C1rt3( zJ+r@loG*ZCv^-rLLoEE01C#|DOf zaB^>EX>4U6ba`-PAZ2)IW&i+q+O1bxlH@21{O1&V1SIi14h9pkH`wEE@~kRcJrlFB zA-&OsEA8R(sSRY(;PUB~yiJUMAdi=&n+VuN;&};G`S9^gW5{xn) z-97aa9O<;v%2Crm@j@-!&TGh|MmJXRBKCfA{{nXh>Kg+AdJRbyF&|vP@S0C zjxVV(==0Zz6)jaSmRJ{0V$M} z6>F@u&Uzbcw8@Dx&N}D3Ykewt@y1*4y!XLJpMnGvY;eJc5MoG?qo9ph6wpUOeSuaf& zl4`1Mu4rCc%2KIo#m*Ib7+ni$uf*SN0Yf8@76AM>p|wZupqj|MLa8g1GIe|$C$oTL zt|2?RrHbzC%w7AFO4SB5>xIV}&D-$@P-md`)R^W`BG(B}JO%d&zx_0#C2KW2UNpD! z!dITb5Dm*gpYii#P5U$Ma-M8z30RS6Z0&RZA_iHH=}9w6K1<;(WDv8?h0qOQIA{+;hyb=kJ_YNIXw8mH`t8O zw4)6sR?KO|>cc%uXX7tF%hf$v#L8mzJoO{^vI3fdY>qC{wy4i^-VLtK&K^UkULOZ} zv=OAO`r7VZE$qjRdA?%Q4xHjlIguRG=4(dr${v083t9H}9g zvxBM(?yO<`gPAd^H@h?cmf5eZ`NvUxTRNpW!$Tni3BxdUI)M6T*F% z=a_C-#2dsjo0iUbpE$&dl0tk=JZ{hhi66NxyZpwv;IP0mLq<9|PaGl^3vDd7F)JD> z@icK*Q8mgJGA=8ew>YciDr?@8zc857R#IH2IgA*V5Jv(cWK>Z?85Sb6YNVJ*(tgy# zKj`=qHhU7?onnFGgyr0oGWr6-%pnJ{jt+|iW z2Ov#dE#CkKhrnoove!M{-PPXPzh|2L{Q!%Faq@sr|m9RmG$uD zQ%Rz#$V?d%E&+cBM z?+>2~dN)Z#Bv6<+P-OP}e89}sT>!m$d0$nDdqXlJ4vu5z8fFHtMl^FGj^5zg*UrH; zGIJHpb7s<710W(Wb0n~9aYQV5`+f{!YeCPfm4nWv&G{p9U5E&>ax`PjTUFd{J3oK@ zs;$qIY$3wx@0IQn<~3ok)pO!al>&+ zh~#!VeX^W*m1e^0(&pfUb?#&IoL=1D75@mys7n49e<8@~DBKLtm^arROk~%6So9x} rR3?v)zsc+ibsVvF;oOI=%=E?|hQB0O_ZDLs00000NkvXXu0mjfl$a6^ literal 0 HcmV?d00001 diff --git a/textures/mp_ufridge_left.png b/textures/mp_ufridge_left.png new file mode 100644 index 0000000000000000000000000000000000000000..6a1aed772ace10dd80ae2227a9fb28fabb88154b GIT binary patch literal 2146 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 literal 0 HcmV?d00001 diff --git a/textures/mp_ufridge_top.png b/textures/mp_ufridge_top.png new file mode 100644 index 0000000000000000000000000000000000000000..d11c69ccb18961de754dde7485d09ed16be1665c GIT binary patch literal 1406 zcmV-^1%djBP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U=KHlH4E+MgLhvmVhLL#B#8Ks_Y=k&&6ikk4aM1 zGx=;&W3UWYLI-e9=)ZoB@BR(~k+W7Yc7Dh=vKz0-~m6L&V$%sb0rb1^QwA5hXPG}r?8G;y%n zK~7-iD;7HZmgx`99G)AYClkcL__2g%!&l3L&=_->6Ggvrg}8XGFN874%{zJl2#u9f zJ@QN8tm5-E!3qfKk!HsPYurwWP3g9_BD^^`Rxq5bU_u{p15gcP0N-kEslu|34)>NTY z(Z9m5@g`f^bjzD7~v9ZRXFu040_-b=3o zYi-C#Lq{Gqe3VfyYK!V4wP$kwrbdezAE0JGyHSG~n{-LgJWg~n12Ikn;x-9jLGxr5 zol@dSZZeC7C5R{^N}X^TO=2LJI0|^RQAdnBNslK^8@ut9bO&q7J3W4h2BDMp|{Y#gyt9Rb*b?E zSnhp|llRbuhW~Luk^F zq_{W=t_24_7OM^}&bm6d3WDGVh>NR}qKlOHzogJ2#)IR2yu0_fdj|;hGE>ctF+kNU zBNdN{+1!d4ctrp~^q?Q(5;OHgdLaYP@pTU$U+vrIQE;&tNb zO-tvzPaI|?Ng+Nb9yREK#E)E;U4G+SbXee-VIz~8BMuXb#Wt4Pn3W8bc#1fps2b%9 zS(g>gTb$K$l{N3lUl_`3%W1CD96}t6NFWIjGOE}>85W|nYNVJ*(SFRsKj`?Am~{NR7^yIZp`IpHRSVnFAMZGQ{{fnA_cv+eI=+isiy{%7DyYxyg6VCIwb zT1$%@0lnM6#dS-Q_khbCVBkrY49SuFG=)L|ct4|W$^m`1KycOVt+|iW2OvXTE!_YI zhrmdYve!J`-PPXPzh|2L{Q!v0a3Z00hvt z8Wly^SZtsBpTq-*bs9T`Rqz9T)+RSdCp+yhZ<@n?H>k)&Wkz5G{sag)=Q<#zw8atu zXRPqR3sbzYz#Z$-b$x$1#@Nn7DQ*SX;EGQ<_+lud8J=ixim{FG0|i|fs!E&O`~Uy| M07*qoM6N<$g3C09RsaA1 literal 0 HcmV?d00001 diff --git a/textures/mp_venext_top1.png b/textures/mp_venext_top1.png new file mode 100644 index 0000000000000000000000000000000000000000..f900a195aa0ba1b3f22808aabb223d11f49be90f GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ+r@loG*ZCW_r3fhFJI~|M>sk-c`cqgz=OA;i(ya*B>-^xS#KE%pQp)Y)izJu;(?{ z9X|D6P*Cu{u#iy4A%(39wgt>O5`GP;U0q!ez6M)LN=ia#4{!68OXnEa76{n&TxAe$ zyIXMCvFpl}D;tt#Fe>m|Vm5XVxyw)^F`KbjN1*dy1n&Y3#lSgJG|%}QdGzK@&H_F* gUIAXg-{%<^qCZ-yF5D~p3Ft@$Pgg&ebxsLQ0GLH(mjD0& literal 0 HcmV?d00001 diff --git a/toaster.lua b/toaster.lua index ded7f43..33b3b58 100644 --- a/toaster.lua +++ b/toaster.lua @@ -26,10 +26,6 @@ minetest.register_node("ma_pops_furniture:toaster", { }, }) -minetest.override_item("farming:bread", { - description = S("Bread"), -}) - local function breadslice_on_use(itemstack, user, pointed_thing) local node, pos if pointed_thing.under then @@ -182,5 +178,6 @@ if not minetest.registered_items["farming:bread_slice"] then output = 'ma_pops_furniture:breadslice 2', type = "shapeless", recipe = {"farming:bread", "ma_pops_furniture:knife"}, + replacements = {{"ma_pops_furniture:knife", "ma_pops_furniture:knife"}}, }) end \ No newline at end of file diff --git a/toys.lua b/toys.lua new file mode 100644 index 0000000..b053676 --- /dev/null +++ b/toys.lua @@ -0,0 +1,26 @@ +-- GENERATED CODE +-- Node Box Editor, version 0.9.0 +-- Namespace: test + +minetest.register_node("ma_pops_furniture:boy_game", { + description = "BoyGame", + tiles = { + "default_silver_sandstone.png^mp_boygame.png", + "default_silver_sandstone.png^mp_boygame_back.png^[transformR180]", + "default_silver_sandstone.png^mp_boygame_right.png", + "default_silver_sandstone.png^mp_boygame_left.png", + "default_silver_sandstone.png^mp_boygame_top.png", + "default_silver_sandstone.png^mp_boygame_front.png" + }, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + groups = {choppy = 1, oddly_breakable_by_hand = 1}, + node_box = { + type = "fixed", + fixed = { + {-0.3125, -0.5, -0.4375, 0.3125, -0.3125, 0.4375}, + } + } +}) + diff --git a/tv.lua b/tv.lua index 0b89f96..f64256d 100644 --- a/tv.lua +++ b/tv.lua @@ -8,7 +8,7 @@ minetest.register_node('ma_pops_furniture:tv_rainbow', { paramtype = 'light', paramtype2 = 'facedir', light_source = 14, - sounds = default.node_sound_wood_defaults(), + sounds = moditems.WOOD_SOUNDS, selection_box = { type = 'fixed', fixed = {-.45, -.5, -.5, .45, .4, .45}, -- Right, Bottom, Back, Left, Top, Front @@ -44,7 +44,7 @@ minetest.register_node('ma_pops_furniture:tv_blast', { paramtype = 'light', paramtype2 = 'facedir', light_source = 14, - sounds = default.node_sound_wood_defaults(), + sounds = moditems.WOOD_SOUNDS, selection_box = { type = 'fixed', fixed = {-.45, -.5, -.5, .45, .4, .45}, -- Right, Bottom, Back, Left, Top, Front @@ -80,7 +80,7 @@ minetest.register_node('ma_pops_furniture:tv_static', { paramtype = 'light', paramtype2 = 'facedir', light_source = 14, - sounds = default.node_sound_wood_defaults(), + sounds = moditems.WOOD_SOUNDS, selection_box = { type = 'fixed', fixed = {-.45, -.5, -.5, .45, .4, .45}, -- Right, Bottom, Back, Left, Top, Front @@ -116,7 +116,7 @@ minetest.register_node('ma_pops_furniture:tv_cube', { paramtype = 'light', paramtype2 = 'facedir', light_source = 14, - sounds = default.node_sound_wood_defaults(), + sounds = moditems.WOOD_SOUNDS, selection_box = { type = 'fixed', fixed = {-.45, -.5, -.5, .45, .4, .45}, -- Right, Bottom, Back, Left, Top, Front @@ -149,7 +149,7 @@ minetest.register_node('ma_pops_furniture:tv_off', { paramtype = 'light', paramtype2 = 'facedir', light_source = 1, - sounds = default.node_sound_wood_defaults(), + sounds = moditems.WOOD_SOUNDS, selection_box = { type = 'fixed', fixed = {-.45, -.5, -.5, .45, .4, .45}, -- Right, Bottom, Back, Left, Top, Front @@ -184,7 +184,7 @@ minetest.register_node('ma_pops_furniture:lcd_tv_off', { paramtype = 'light', paramtype2 = 'facedir', light_source = 1, - sounds = default.node_sound_wood_defaults(), + sounds = moditems.STONE_SOUNDS, selection_box = { type = 'fixed', fixed = {-0.98, -.5, -.10, 0.98, .8, .10}, -- Right, Bottom, Back, Left, Top, Front @@ -219,7 +219,7 @@ minetest.register_node('ma_pops_furniture:lcd_tv_rainbow', { paramtype = 'light', paramtype2 = 'facedir', light_source = 1, - sounds = default.node_sound_wood_defaults(), + sounds = moditems.STONE_SOUNDS, drop = "ma_pops_furniture:lcd_tv_off", selection_box = { type = 'fixed', @@ -256,7 +256,7 @@ minetest.register_node('ma_pops_furniture:lcd_tv_blast', { paramtype = 'light', paramtype2 = 'facedir', light_source = 14, - sounds = default.node_sound_wood_defaults(), + sounds = moditems.STONE_SOUNDS, selection_box = { type = 'fixed', fixed = {-0.98, -.5, -.10, 0.98, .8, .10}, -- Right, Bottom, Back, Left, Top, Front