diff --git a/mods/homedecor_modpack/building_blocks/init.lua b/mods/homedecor_modpack/building_blocks/init.lua index 28c4c8ad..7467cc94 100755 --- a/mods/homedecor_modpack/building_blocks/init.lua +++ b/mods/homedecor_modpack/building_blocks/init.lua @@ -100,7 +100,7 @@ minetest.register_craft({ {'group:stick', '', 'group:stick'}, {'', 'group:stick', ''}, {'group:stick', '', 'group:stick'}, - } + } -- MODIFICATION MADE FOR MFF ^ }) minetest.register_craft({ diff --git a/mods/homedecor_modpack/chains/init.lua b/mods/homedecor_modpack/chains/init.lua index d3799b62..f0c02250 100755 --- a/mods/homedecor_modpack/chains/init.lua +++ b/mods/homedecor_modpack/chains/init.lua @@ -72,7 +72,7 @@ minetest.register_node("chains:chain_top_brass", { minetest.register_node("chains:chandelier", { description = "Chandelier (wrought iron)", paramtype = "light", - light_source = default.LIGHT_MAX-2, + light_source = LIGHT_MAX-2, walkable = false, climbable = true, sunlight_propagates = true, @@ -87,7 +87,7 @@ minetest.register_node("chains:chandelier", { minetest.register_node("chains:chandelier_brass", { description = "Chandelier (brass)", paramtype = "light", - light_source = default.LIGHT_MAX-2, + light_source = LIGHT_MAX-2, walkable = false, climbable = true, sunlight_propagates = true, diff --git a/mods/homedecor_modpack/fake_fire/init.lua b/mods/homedecor_modpack/fake_fire/init.lua index db264dae..98f575b8 100755 --- a/mods/homedecor_modpack/fake_fire/init.lua +++ b/mods/homedecor_modpack/fake_fire/init.lua @@ -1,37 +1,3 @@ ---[[ - -The 'Fake-Fire' mod was originally created by Semmett9. - -URL to the 'Fake-Fire' thread on Minetest.net: -http://forum.minetest.net/viewtopic.php?id=6145 - -I've customized it a bit. Please see the changelog.txt file for more details. - -~ LazyJ, 2014_03_15 - ---]] - dofile(minetest.get_modpath("fake_fire").."/modfiles/nodes.lua") dofile(minetest.get_modpath("fake_fire").."/modfiles/crafts.lua") dofile(minetest.get_modpath("fake_fire").."/modfiles/abms.lua") - - - ---[[ - - The lines below, at the end, are from the original author, Semmett9. - - Thanks for a nice mod, Semmett9. ;) - - ~ LazyJ, 2014_03_14 - ---]] - - - --- Thanks- - --- Many thanks for addi for his help in coding. -- - --- Many thanks for the players on the King Arthur's land server for giving -- --- me support, ideas and allowing me to add the mod to the server itself. -- diff --git a/mods/homedecor_modpack/fake_fire/modfiles/abms.lua b/mods/homedecor_modpack/fake_fire/modfiles/abms.lua index 7c578b8b..4a7cc6f4 100755 --- a/mods/homedecor_modpack/fake_fire/modfiles/abms.lua +++ b/mods/homedecor_modpack/fake_fire/modfiles/abms.lua @@ -1,52 +1,3 @@ ---[[ - - I commented out this part because: - 1. water and lava buckets are disabled on some servers, - 2. putting out fire with water and especially lava would only make - a big mess, and... - - As for 'realism': - * C'mon... This is *fake* fire. - * Torches have long been impervious to water. - * Minetest creates surreal worlds so it's OK if some things aren't - perfectly realistic. - - Besides, the fake-fire can be put out by punching it - simple and effective. - ~ LazyJ, 2014_03_14 - - - --- water and lava puts out fake fire -- -minetest.register_abm({ - nodenames = {"fake_fire:fake_fire"}, - interval = 1, - chance = 1, - action = function(pos, node) - if minetest.env:find_node_near(pos, 1, {"default:water_source", - "default:water_flowing","default:lava_source", - "default:lava_flowing"}) then - minetest.sound_play("fire_extinguish", - {gain = 1.0, max_hear_distance = 20,}) - node.name = "air" - minetest.env:set_node(pos, node) - end - end -}) - - - --- ADVISING ABOUT SMOKE PARTICLES SETTINGS - - -- For the best visual result... - -- If you increase the particles size, - -- you should decrease the particles amount and/or increase the smoke column lenght. - -- If you increase the particle time duration and/or particle course, - -- you should decrease the particles amount or increase the smoke column lenght. - -- Or conversely... - -- ~ JP - - --]] - minetest.register_abm({ nodenames = { "fake_fire:fake_fire", @@ -57,13 +8,11 @@ minetest.register_abm({ interval = 1, chance = 2, action = function(pos, node) - if - minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z}).name == "air" and - minetest.get_node({x=pos.x, y=pos.y+2.0, z=pos.z}).name == "air" - then + if minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z}).name == "air" + and minetest.get_node({x=pos.x, y=pos.y+2.0, z=pos.z}).name == "air" then local image_number = math.random(4) minetest.add_particlespawner({ - amount = 8, + amount = 6, time = 1, minpos = {x=pos.x-0.25, y=pos.y+0.4, z=pos.z-0.25}, maxpos = {x=pos.x+0.25, y=pos.y+8, z=pos.z+0.25}, @@ -78,7 +27,6 @@ minetest.register_abm({ collisiondetection = false, texture = "smoke_particle_"..image_number..".png", }) - end + end end }) - diff --git a/mods/homedecor_modpack/fake_fire/modfiles/crafts.lua b/mods/homedecor_modpack/fake_fire/modfiles/crafts.lua index 94848070..cc90998a 100755 --- a/mods/homedecor_modpack/fake_fire/modfiles/crafts.lua +++ b/mods/homedecor_modpack/fake_fire/modfiles/crafts.lua @@ -1,32 +1,3 @@ ---[[ - - NEVER-ENDING FLINT and STEEL - - Uncraftable, at the moment, and I'm not sure yet how many wanna-be-firebug - griefers are going to litter with fake-fire. Why give them this if it only - makes the mess bigger? ~ LazyJ, 2014_03_13 - - May add a priv for this later so trusted players can use it. - ~ LazyJ, 2014_06_19 - -minetest.register_craftitem("fake_fire:old_flint_and_steel", { - description = "Never ending flint and steel", - inventory_image = "flint_and_steel.png", - stack_max = 1, - liquids_pointable = false, - on_use = function(itemstack, user, pointed_thing) - n = minetest.env:get_node(pointed_thing) - if pointed_thing.type == "node" then - minetest.env:add_node(pointed_thing.above, - {name="fake_fire:fake_fire"}) - minetest.sound_play("", - {gain = 1.0, max_hear_distance = 20,}) - end - end -}) ---]] - - -- RECIPE ITEM - FLINT minetest.register_craftitem("fake_fire:flint", { description = "flint", @@ -35,8 +6,6 @@ minetest.register_craftitem("fake_fire:flint", { liquids_pointable = false, }) - - -- FLINT minetest.register_craft({ type = "shapeless", @@ -47,8 +16,6 @@ minetest.register_craft({ } }) - - -- FLINT & STEEL minetest.register_craft({ type = "shapeless", @@ -59,8 +26,6 @@ minetest.register_craft({ } }) - - -- EMBERS minetest.register_craft({ type = "shapeless", @@ -71,14 +36,6 @@ minetest.register_craft({ } }) - - --- CHIMNEY TOPS - SMOKELESS - - -- Only the smokeless kind will be craftable and shown in the inventory. - -- The nodes are coded to switch to the smoking chimney tops when punched. - -- ~ LazyJ - -- STONE CHIMNEY TOP minetest.register_craft({ type = "shapeless", @@ -89,8 +46,6 @@ minetest.register_craft({ } }) - - -- SANDSTONE CHIMNEY TOP minetest.register_craft({ type = "shapeless", @@ -101,35 +56,6 @@ minetest.register_craft({ } }) - - --- Crafting Chain - Cobble-to-Gravel-to-Sand and Convert Sands - ---[[ - - Craft one cobble into one gravel. - Craft one gravel into one sand. - Convert-craft sand to desert sand and vice-versa. - - This was suggested by klappspaten and it makes sense in both its natural - progression and as a practical way for players to get some of the non- - renewable resources that they need. - - Because the gravel-to-sand recipe (from one of our other custom mods) - conflicted with the Fake Fire mod's flint recipe, the Fake Fire mod's - recipe was changed to require 2 gravel. - - I've added the cobble-gravel-sand and convert sands recipes as a bonus and - to make-up for the more expensive flint recipe. You can comment-out these - recipes because they aren't *required* by this fork of Fake Fire, but they - *are* handy recipes to have. - - ~ LazyJ - - - ---]] - -- Cobble to Gravel minetest.register_craft({ output = 'default:gravel', @@ -138,8 +64,6 @@ minetest.register_craft({ } }) - - -- Gravel to Sand minetest.register_craft({ output = 'default:sand', @@ -148,8 +72,6 @@ minetest.register_craft({ } }) - - -- Desert Sand to Sand minetest.register_craft({ output = 'default:sand', @@ -158,12 +80,10 @@ minetest.register_craft({ } }) - - -- Sand to Desert Sand minetest.register_craft({ output = 'default:desert_sand', recipe = { {'default:sand'}, } -}) \ No newline at end of file +}) diff --git a/mods/homedecor_modpack/fake_fire/modfiles/nodes.lua b/mods/homedecor_modpack/fake_fire/modfiles/nodes.lua index 8aea6bd0..e9697f15 100755 --- a/mods/homedecor_modpack/fake_fire/modfiles/nodes.lua +++ b/mods/homedecor_modpack/fake_fire/modfiles/nodes.lua @@ -4,54 +4,41 @@ local function register_fake_fire(name, def) assert(name, "local registration called without name") assert(def, "local registration called without node definition") - -- make sure shared definitions are set def.is_ground_content = true - def.inventory_image = def.inventory_image or name.. ".png" + def.inventory_image = def.inventory_image or name..".png" def.drawtype = "plantlike" - def.waving = 1 -- Waving wasn't an option when this mod was written. ~ LazyJ, 2014_03_13 + def.waving = 1 def.light_source = def.lightsource or 14 - -- Adding sunlight_propagtes and leaving comments as a future reference. - -- If true, sunlight will go infinitely through this (no shadow is cast). - -- Because fire produces light it should be "true" so fire *doesn't* have - -- a shadow. def.sunlight_propagates = true - -- damage_per_second = 2*0.5, -- It's *fake* fire. PvP on our server has - -- been disabled for a reason. I don't want griefers lighting players on - -- fire or trapping them in blazes. ~ LazyJ, 2014_0_13 - def.groups = def.groups or { oddly_breakable_by_hand=3, dig_immediate=2, attached_node=1, not_in_creative_inventory=1 } def.paramtype = "light" def.walkable = false - def.drop = "" -- So fire won't return to the inventory. ~ LazyJ + def.drop = "" def.sounds = def.sounds or minetest.sound_play("fire_small", {pos=cp, loop=true}) def.buildable_to = true local swap_on_punch = def.swap_on_punch def.on_punch = def.on_punch or function (pos, node, puncher) - -- A max_hear_distance of 20 may freak some players out by the "hiss" - -- so I reduced it to 5. minetest.sound_play("fire_extinguish", {pos = pos, gain = 1.0, max_hear_distance = 5,}) - -- swap the node on_punch if def.swap_on_punch is set if swap_on_punch then minetest.set_node(pos, {name = swap_on_punch}) end end - -- no need to add these to the global registration table def.swap_on_punch = nil def.smoking = nil - minetest.register_node("fake_fire:" .. name, def) + minetest.register_node("fake_fire:"..name, def) end + -- FLAME TYPES register_fake_fire("fake_fire", { description = "Smokey, Fake Fire", tiles = { - {name="fake_fire_animated.png", animation={type="vertical_frames", - aspect_w=16, aspect_h=16, length=1.5}}, + {name="fake_fire_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1.5}}, }, swap_on_punch = "fake_fire:smokeless_fire", }) @@ -59,8 +46,7 @@ register_fake_fire("fake_fire", { register_fake_fire("smokeless_fire", { description = "Smokeless, Fake Fire", tiles = { - {name="fake_fire_animated.png", animation={type="vertical_frames", - aspect_w=16, aspect_h=16, length=1.5}}, + {name="fake_fire_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1.5}}, }, inventory_image = 'fake_fire.png', swap_on_punch = "fake_fire:fake_fire", @@ -69,8 +55,7 @@ register_fake_fire("smokeless_fire", { register_fake_fire("ice_fire", { description = "Smoky, Fake, Ice Fire", tiles = { - {name="ice_fire_animated.png", animation={type="vertical_frames", - aspect_w=16, aspect_h=16, length=1.5}}, + {name="ice_fire_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1.5}}, }, swap_on_punch = "fake_fire:smokeless_ice_fire", }) @@ -78,13 +63,13 @@ register_fake_fire("ice_fire", { register_fake_fire("smokeless_ice_fire", { description = "Smokeless, Fake, Ice Fire", tiles = { - {name="ice_fire_animated.png", animation={type="vertical_frames", - aspect_w=16, aspect_h=16, length=1.5}}, + {name="ice_fire_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1.5}}, }, inventory_image = 'ice_fire.png', swap_on_punch = "fake_fire:ice_fire", }) + -- FLINT and STEEL minetest.register_tool("fake_fire:flint_and_steel", { description = "Flint and steel", @@ -98,138 +83,40 @@ minetest.register_tool("fake_fire:flint_and_steel", { } }, on_use = function(itemstack, user, pointed_thing) - -- This next section took me a lot of keyboard bashing to figure out. - -- The lua documentation and examples for Minetest are terrible. - -- ~ LazyJ, 2014_06_23 - local snow_ice_list = {"snow", "ice",} for _, which_one_is_it in pairs(snow_ice_list) do local snow_ice = which_one_is_it - if - -- A *node*, not a player or sprite. ~ LazyJ - pointed_thing.type == "node" - - --[[ - These next two "and nots" tell Minetest not to put the - red flame on snow and ice stuff. This "string" bit was - the workable solution that took many hours, over - several days, to finally come around to. It's a search - for any node name that contains whatever is between the - double-quotes, ie. "snow" or "ice". I had been trying - to identify the nodes by their group properties and I - couldn't figure out how to do it. The clue for the - "string"came from Blockmen's "Landscape" mod. - - Another quirk is that the "string" doesn't work well - with variable lists (see "snow_ice_list") when using - "and not". Ice-fire would light on snow but when I - clicked on ice, the regular flame appeared. I couldn't - understand what was happening until I mentally changed - the wording "and not" to "is not" and spoke out-loud - each thing that line of code was to accomplish: - - "Is not snow, then make fake-fire." - "Is not ice, then make fake-fire." - - That's when I caught the problem. - - Ice *is not* snow, so Minetest was correctly following - the instruction, "Is not snow, then make fake-fire." - and that is why fake-fire appeared instead of ice-fire - when I clicked on ice. - - ~ LazyJ - --]] - - and not - string.find(minetest.get_node(pointed_thing.under).name, "snow") - and not - string.find(minetest.get_node(pointed_thing.under).name, "ice") - and - minetest.get_node(pointed_thing.above).name == "air" + if pointed_thing.type == "node" + and not string.find(minetest.get_node(pointed_thing.under).name, "snow") + and not string.find(minetest.get_node(pointed_thing.under).name, "ice") + and minetest.get_node(pointed_thing.above).name == "air" then if not minetest.is_protected(pointed_thing.above, user:get_player_name()) then minetest.set_node(pointed_thing.above, {name="fake_fire:smokeless_fire"}) else minetest.chat_send_player(user:get_player_name(), "You can't set a fire in someone else's area!") end - elseif - - pointed_thing.type == "node" - and - -- Split this "string" across several lines because I ran out - -- of room while trying to adhere to the 80-column wide rule - -- of coding style. - string.find( - minetest.get_node(pointed_thing.under).name, - snow_ice - ) - and - minetest.get_node(pointed_thing.above).name == "air" - then - if not minetest.is_protected(pointed_thing.above, user:get_player_name()) then - minetest.set_node(pointed_thing.above, {name="fake_fire:smokeless_ice_fire"}) - else - minetest.chat_send_player(user:get_player_name(), "You can't set a fire in someone else's area!") - end - end -- Line 210, if - end -- Line 207, for/do + elseif pointed_thing.type == "node" + and string.find(minetest.get_node(pointed_thing.under).name,snow_ice) + and minetest.get_node(pointed_thing.above).name == "air" then + if not minetest.is_protected(pointed_thing.above, user:get_player_name()) then + minetest.set_node(pointed_thing.above, {name="fake_fire:smokeless_ice_fire"}) + else + minetest.chat_send_player(user:get_player_name(), "You can't set a fire in someone else's area!") + end + end + end - minetest.sound_play("", - {gain = 1.0, max_hear_distance = 2,}) + minetest.sound_play("", {gain = 1.0, max_hear_distance = 2,}) itemstack:add_wear(65535/65) return itemstack end -}) -- Closes the flint and steel tool registration - - - ---[[ - - SOME LESSONS LEARNED (and keeping this because I'll forget) - - flint_and_steel is registered as a tool. Tools do not materialize something - like placing a block (on_construct) makes that block appear. Tools are - *used* so "on_use" works but not "on_construct". - - on_rightclick is meant for the code of the thing being clicked on, not the - code of the thing doing the clicking. - - ~ LazyJ - ---]] - - - --- ANIMATED, RISING, DISPAPPEARING SMOKE - ---[[ - - These next two sections of code are a real bonus that I figured out how - to pull-off. ;) - - The first section creates animated smoke. Trying to figure out how to make - the animation appear to go upward was a headache. - - The second section places the animated smoke *only* above the fake-fire - *if* there is nothing but air straight above the fake-fire. I also made - the smoke skip a space so it looks more like puffs of smoke and made it - stretch high enough to be used in chimneys. For large builds, a second - fake-fire will have to be hidden close to the top of the chimney so the - smoke will be visible. The smoke also emmits a low-level light. - - Yup, I'm proud of this little addition I've made to Semmett9's mod. :D - - ~ LazyJ, 2014_03_15 - ---]] - +}) -- EMBERS - minetest.register_node("fake_fire:embers", { description = "Glowing Embers", tiles = { @@ -239,30 +126,15 @@ minetest.register_node("fake_fire:embers", { inventory_image = minetest.inventorycube('fake_fire_embers.png'), is_ground_content = true, light_source = 9, - -- Adding sunlight_propagtes and leaving comments as a future reference. - -- If true, sunlight will go infinitely through this (no shadow is cast). - -- Because embers produce some light it should be somewhat "true" but this - -- is an area where Minetest lacks in subtlety so I'm opting for 100% that - -- embers *don't* have a shadow. sunlight_propagates = true, - -- It's almost soft, brittle charcoal. ~ LazyJ groups = {choppy=3, crumbly=3, oddly_breakable_by_hand=3}, paramtype = "light", - -- You never know when a creative builder may use the screwdriver or - -- position to create a subtle effect that makes their creation just - -- that little bit nicer looking. ~ Lazyj paramtype2 = "facedir", walkable = true, sounds = minetest.sound_play("fire_small", {pos=cp, loop=true}), }) - --- CHIMNEY TOPS - - -- Stone (cool tone) to go with cool colors. - -- Sandstone (warm tone) to go with warm colors. - -- CHIMNEY TOP - STONE minetest.register_node("fake_fire:chimney_top_stone", { description = "Chimney Top - Stone", @@ -278,14 +150,11 @@ minetest.register_node("fake_fire:chimney_top_stone", { fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, }, on_punch = function (pos,node,puncher) - -- This swaps the smokeless version with the smoky version when punched. - -- ~ LazyJ minetest.set_node(pos, {name = "fake_fire:smokeless_chimney_top_stone"}) end }) - -- CHIMNEY TOP - SANDSTONE minetest.register_node("fake_fire:chimney_top_sandstone", { description = "Chimney Top - Sandstone", @@ -301,22 +170,11 @@ minetest.register_node("fake_fire:chimney_top_sandstone", { fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, }, on_punch = function (pos,node,puncher) - -- This swaps the smokeless version with the smoky version when punched. - -- ~ LazyJ - minetest.set_node(pos, - {name = "fake_fire:smokeless_chimney_top_sandstone"}) + minetest.set_node(pos, {name = "fake_fire:smokeless_chimney_top_sandstone"}) end }) - --- SMOKELESS CHIMNEY TOPS - - -- Some players may want a chimney top *without* smoke. This is the node - -- that will be craftable. To get the smoking variety, simply punch the - -- node. Same approach is used with the smoking and non-smoking flames. - -- ~ LazyJ - -- SMOKELESS CHIMNEY TOP - STONE minetest.register_node("fake_fire:smokeless_chimney_top_stone", { description = "Chimney Top - Stone", @@ -331,14 +189,11 @@ minetest.register_node("fake_fire:smokeless_chimney_top_stone", { fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, }, on_punch = function (pos,node,puncher) - -- This swaps the smokeless version with the smoky version when punched. - -- ~ LazyJ minetest.set_node(pos, {name = "fake_fire:chimney_top_stone"}) end }) - -- SMOKELESS CHIMNEY TOP - SANDSTONE minetest.register_node("fake_fire:smokeless_chimney_top_sandstone", { description = "Chimney Top - Sandstone", @@ -353,8 +208,6 @@ minetest.register_node("fake_fire:smokeless_chimney_top_sandstone", { fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, }, on_punch = function (pos,node,puncher) - -- This swaps the smokeless version with the smoky version when punched. - -- ~ LazyJ minetest.set_node(pos, {name = "fake_fire:chimney_top_sandstone"}) end }) diff --git a/mods/homedecor_modpack/homedecor/climate-control.lua b/mods/homedecor_modpack/homedecor/climate-control.lua index cc755746..b3e08335 100755 --- a/mods/homedecor_modpack/homedecor/climate-control.lua +++ b/mods/homedecor_modpack/homedecor/climate-control.lua @@ -122,7 +122,7 @@ homedecor.register("ceiling_fan", { } }, groups = { snappy = 3 }, - light_source = default.LIGHT_MAX-1, + light_source = LIGHT_MAX-1, sounds = default.node_sound_wood_defaults(), }) diff --git a/mods/homedecor_modpack/homedecor/crafts.lua b/mods/homedecor_modpack/homedecor/crafts.lua index 3571bdd6..b7134b8f 100755 --- a/mods/homedecor_modpack/homedecor/crafts.lua +++ b/mods/homedecor_modpack/homedecor/crafts.lua @@ -2544,7 +2544,7 @@ minetest.register_craft( { { "", "farming:string", "" }, { "farming:string", "farming:string", "farming:string" }, -- craft changé pour éviter conflit avec le "Spider Cobweb" du mod "mobs" { "", "farming:string", "" } - }, + }, -- MODIFICATION MADE FOR MFF ^ }) minetest.register_craft( { diff --git a/mods/homedecor_modpack/homedecor/doors_and_gates.lua b/mods/homedecor_modpack/homedecor/doors_and_gates.lua index 5f0ee6d8..53b16348 100755 --- a/mods/homedecor_modpack/homedecor/doors_and_gates.lua +++ b/mods/homedecor_modpack/homedecor/doors_and_gates.lua @@ -417,7 +417,7 @@ function homedecor.flip_door(pos, node, player, name, side, isClosed) gain = 2, }) -- XXX: does the top half have to remember open/closed too? - minetest.add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_"..name.."_top_"..rside, param2=nfdir}) + minetest.set_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_"..name.."_top_"..rside, param2=nfdir}) addDoorNode(pos,{ name = "homedecor:door_"..name.."_bottom_"..rside, param2=nfdir },isClosed) end diff --git a/mods/homedecor_modpack/homedecor/electronics.lua b/mods/homedecor_modpack/homedecor/electronics.lua index dd3dd81f..85cf8fe7 100755 --- a/mods/homedecor_modpack/homedecor/electronics.lua +++ b/mods/homedecor_modpack/homedecor/electronics.lua @@ -80,7 +80,7 @@ homedecor.register("television", { } } }, - light_source = default.LIGHT_MAX - 1, + light_source = LIGHT_MAX - 1, groups = { snappy = 3 }, sounds = default.node_sound_wood_defaults(), }) diff --git a/mods/homedecor_modpack/homedecor/furniture.lua b/mods/homedecor_modpack/homedecor/furniture.lua index 46cf9721..49d53ba6 100755 --- a/mods/homedecor_modpack/homedecor/furniture.lua +++ b/mods/homedecor_modpack/homedecor/furniture.lua @@ -1,6 +1,6 @@ local S = homedecor.gettext -local function sit(pos, node, clicker) +function homedecor.sit(pos, node, clicker) local name = clicker:get_player_name() local meta = minetest:get_meta(pos) local param2 = node.param2 @@ -35,10 +35,10 @@ function homedecor.sit_exec(pos, node, clicker) -- don't move these functions in or clicker:get_player_control().left == true or clicker:get_player_control().right == true or clicker:get_player_control().jump == true then -- make sure that the player is immobile. return end - sit(pos, node, clicker) + homedecor.sit(pos, node, clicker) clicker:setpos(pos) default.player_set_animation(clicker, "sit", 30) - ]] + ]] -- MODIFICATION MODE FOR MFF ^ end local table_colors = { "", "mahogany", "white" } @@ -362,7 +362,7 @@ homedecor.register("wardrobe_bottom", { }, inventory_image = "homedecor_wardrobe_inv.png", description = "Wardrobe", - groups = {snappy=3}, + groups = {snappy=3}, node_box = { type = "fixed", fixed = { @@ -383,232 +383,6 @@ homedecor.register("wardrobe_bottom", { }, }) -homedecor.register("simple_bench", { - tiles = { - "homedecor_generic_wood.png", - "homedecor_generic_wood.png", - "homedecor_generic_wood.png", - "homedecor_generic_wood.png", - "homedecor_bench_large_2_left_back.png", - "homedecor_bench_large_2_left_back.png^[transformFX" - }, - description = "Simple Bench", - groups = {snappy=3}, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.15, 0, 0.5, -0.05, 0.4}, - {-0.4, -0.5, 0.1, -0.3, -0.15, 0.3}, - { 0.3, -0.5, 0.1, 0.4, -0.15, 0.3}, - } - }, - on_rightclick = function(pos, node, clicker) - pos.y = pos.y-0 -- player's sit position. - homedecor.sit_exec(pos, node, clicker) - end, -}) - -homedecor.register("bench_large_1_left", { - description = "Garden Bench (style 1)", - tiles = { - "homedecor_bench_large_1_left_top.png", - "homedecor_bench_large_1_left_bottom.png", - "homedecor_bench_large_1_ends.png^[transformFX", - "homedecor_bench_large_1_ends.png", - "homedecor_bench_large_1_left_back.png", - "homedecor_bench_large_1_left_front.png" - }, - inventory_image = "homedecor_bench_large_1_inv.png", - groups = {snappy=3}, - node_box = { - type = "fixed", - fixed = { - {-0.5, 0.25, 0.375, 0.5, 0.4375, 0.4375}, -- NodeBox1 - {-0.5, 0, 0.375, 0.5, 0.1875, 0.4375}, -- NodeBox2 - {-0.5, -0.125, 0.115, 0.5, -0.0625, 0.35}, -- NodeBox3 - {-0.5, -0.125, -0.0872, 0.5, -0.0625, 0.079}, -- NodeBox4 - {-0.3125, -0.5, 0.4375, -0.25, 0.375, 0.5}, -- NodeBox5 - {-0.3125, -0.25, -0.0625, -0.25, -0.125, 0.4375}, -- NodeBox6 - {-0.3125, -0.5, -0.0625, -0.25, -0.25, 0}, -- NodeBox7 - } - }, - selection_box = { - type = "fixed", - fixed = { -0.5, -0.5, -0.09375, 1.5, 0.5, 0.5 } - }, - expand = { right="homedecor:bench_large_1_right" }, - on_rightclick = function(pos, node, clicker) - pos.y = pos.y-0 -- player's sit position. - homedecor.sit_exec(pos, node, clicker) - end, -}) - -homedecor.register("bench_large_1_right", { - tiles = { - "homedecor_bench_large_1_left_top.png^[transformFX", - "homedecor_bench_large_1_left_bottom.png^[transformFX", - "homedecor_bench_large_1_ends.png^[transformFX", - "homedecor_bench_large_1_ends.png", - "homedecor_bench_large_1_left_back.png^[transformFX", - "homedecor_bench_large_1_left_front.png^[transformFX" - }, - groups = {snappy=3}, - node_box = { - type = "fixed", - fixed = { - {-0.5, 0.25, 0.375, 0.5, 0.4375, 0.4375}, -- NodeBox1 - {-0.5, 0, 0.375, 0.5, 0.1875, 0.4375}, -- NodeBox2 - {-0.5, -0.125, 0.115, 0.5, -0.0625, 0.35}, -- NodeBox3 - {-0.5, -0.125, -0.0872, 0.5, -0.0625, 0.079}, -- NodeBox4 - {0.25, -0.5, 0.4375, 0.3125, 0.375, 0.5}, -- NodeBox5 - {0.25, -0.25, -0.0625, 0.3125, -0.125, 0.5}, -- NodeBox6 - {0.25, -0.5, -0.0625, 0.3125, -0.25, 0}, -- NodeBox7 - } - }, - selection_box = homedecor.nodebox.null, -}) - - -homedecor.register("bench_large_2_left", { - description = "Garden Bench (style 2)", - tiles = { - "homedecor_generic_wood.png", - "homedecor_generic_wood.png", - "homedecor_generic_wood.png", - "homedecor_generic_wood.png", - "homedecor_bench_large_2_left_back.png", - "homedecor_bench_large_2_left_back.png^[transformFX" - }, - inventory_image = "homedecor_bench_large_2_inv.png", - groups = {snappy=3}, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.375, -0.375, 0.5, 0.5}, -- NodeBox1 - {-0.375, 0.3125, 0.4375, 0.5, 0.4375, 0.5}, -- NodeBox2 - {-0.375, -0.0625, 0.4375, 0.5, 0.0625, 0.5}, -- NodeBox3 - {-0.3125, 0.0625, 0.45, -0.25, 0.3125, 0.48}, -- NodeBox4 - {-0.1875, 0.0625, 0.45, -0.125, 0.3125, 0.48}, -- NodeBox5 - {-0.0625, 0.0625, 0.45, 0, 0.3125, 0.48}, -- NodeBox6 - {0.0625, 0.0625, 0.45, 0.125, 0.3125, 0.48}, -- NodeBox7 - {0.1875, 0.0625, 0.45, 0.25, 0.3125, 0.48}, -- NodeBox8 - {0.3125, 0.0625, 0.45, 0.375, 0.3125, 0.48}, -- NodeBox9 - {0.4375, 0.0625, 0.45, 0.5, 0.3125, 0.48}, -- NodeBox10 - {-0.5, 0.0625, -0.145362, -0.375, 0.125, 0.375}, -- NodeBox11 - {-0.5, -0.5, -0.0625, -0.375, 0.0625, 0.0625}, -- NodeBox12 - {-0.4375, -0.125, -0.0625, 0.5, -0.0911603, 0.4375}, -- NodeBox13 - {-0.4375, -0.4375, 0.0625, -0.375, -0.3125, 0.375}, -- NodeBox14 - {-0.375, -0.342324, 0.25, 0.5, -0.4375, 0.1875}, -- NodeBox15 - {-0.5, -0.25, -0.0290173, 0.5, -0.125, 0.0125346}, -- NodeBox16 - } - }, - selection_box = { - type = "fixed", - fixed = { -0.5, -0.5, -0.15625, 1.5, 0.5, 0.5 } - }, - expand = { right="homedecor:bench_large_2_right" }, - on_rightclick = function(pos, node, clicker) - pos.y = pos.y-0 -- player's sit position. - homedecor.sit_exec(pos, node, clicker) - end, -}) - -homedecor.register("bench_large_2_right", { - tiles = { - "homedecor_generic_wood.png", - "homedecor_generic_wood.png", - "homedecor_generic_wood.png", - "homedecor_generic_wood.png", - "homedecor_bench_large_2_right_back.png", - "homedecor_bench_large_2_right_back.png^[transformFX" - }, - groups = {snappy=3}, - node_box = { - type = "fixed", - fixed = { - {0.375, -0.5, 0.375, 0.5, 0.5, 0.5}, -- NodeBox1 - {-0.5, 0.3125, 0.4375, 0.375, 0.4375, 0.5}, -- NodeBox2 - {-0.5, -0.0625, 0.4375, 0.375, 0.0625, 0.5}, -- NodeBox3 - {-0.5, 0.0625, 0.45, -0.4375, 0.3125, 0.48}, -- NodeBox4 - {-0.375, 0.0625, 0.45, -0.3125, 0.3125, 0.48}, -- NodeBox5 - {-0.25, 0.0625, 0.45, -0.1875, 0.3125, 0.48}, -- NodeBox6 - {-0.125, 0.0625, 0.45, -0.0625, 0.3125, 0.48}, -- NodeBox7 - {0, 0.0625, 0.45, 0.0625, 0.3125, 0.48}, -- NodeBox8 - {0.125, 0.0625, 0.45, 0.1875, 0.3125, 0.48}, -- NodeBox9 - {0.25, 0.0625, 0.45, 0.3125, 0.3125, 0.48}, -- NodeBox10 - {0.375, 0.0625, -0.145362, 0.5, 0.125, 0.375}, -- NodeBox11 - {0.375, -0.5, -0.0625, 0.5, 0.125, 0.0625}, -- NodeBox12 - {0.375, -0.4375, 0.0625, 0.4375, -0.3125, 0.375}, -- NodeBox13 - {-0.5, -0.4375, 0.1875, 0.375, -0.342324, 0.25}, -- NodeBox14 - {-0.5, -0.125, -0.0625, 0.4375, -0.0911603, 0.4375}, -- NodeBox15 - {-0.5, -0.25, -0.0290173, 0.5, -0.125, 0.0125346}, -- NodeBox16 - } - }, - selection_box = homedecor.nodebox.null, -}) - -homedecor.register("deckchair_head", { - tiles = { - "homedecor_deckchair_top_c1.png", - "homedecor_deckchair_sides.png", - "homedecor_deckchair_sides.png", - "homedecor_deckchair_sides.png^[transformFX", - "homedecor_deckchair_sides.png", - "homedecor_deckchair_front.png" - }, - groups = { snappy = 3, not_in_creative_inventory = 1 }, - node_box = { - type = "fixed", - fixed = { - {-0.375, -0.3125, -0.0625, 0.375, -0.25, 0}, -- NodeBox1 - {-0.375, -0.25, 0, 0.375, -0.1875, 0.0625}, -- NodeBox2 - {-0.375, -0.1875, 0.0625, 0.375, -0.125, 0.125}, -- NodeBox3 - {-0.375, -0.125, 0.125, 0.375, -0.0625, 0.1875}, -- NodeBox4 - {-0.375, -0.0625, 0.1875, 0.375, 0, 0.25}, -- NodeBox5 - {-0.375, 0, 0.25, 0.375, 0.0625, 0.3125}, -- NodeBox6 - {-0.375, 0.0625, 0.3125, 0.375, 0.125, 0.375}, -- NodeBox7 - {-0.375, 0.125, 0.375, 0.375, 0.1875, 0.4375}, -- NodeBox8 - {-0.375, 0.1875, 0.4375, 0.375, 0.25, 0.5}, -- NodeBox9 - {-0.375, -0.375, -0.5, 0.375, -0.3125, 0.0625}, -- NodeBox10 - {0.3125, -0.1875, -0.5, 0.4375, -0.1575, 0.0625}, -- NodeBox11 - {-0.4375, -0.1875, -0.5, -0.3125, -0.1575, 0.0625}, -- NodeBox12 - {0.3125, -0.5, 0, 0.375, -0.25, 0.0625}, -- NodeBox13 - {-0.375, -0.5, 0, -0.3125, -0.25, 0.0625}, -- NodeBox14 - } - }, - selection_box = homedecor.nodebox.null -}) - -homedecor.register("deckchair_foot", { - tiles = { - "homedecor_deckchair_top_c2.png", - "homedecor_deckchair_sides.png", - "homedecor_deckchair_sides.png", - "homedecor_deckchair_sides.png^[transformFX", - "homedecor_deckchair_front.png" - }, - description = "Deck chair", - inventory_image = "homedecor_deckchair_inv.png", - groups = { snappy = 3 }, - node_box = { - type = "fixed", - fixed = { - {-0.375, -0.375, -0.5, 0.375, -0.3125, 0.5}, -- NodeBox1 - {0.3125, -0.5, -0.5, 0.375, -0.375, -0.4375}, -- NodeBox2 - {-0.375, -0.5, -0.5, -0.3125, -0.375, -0.4375}, -- NodeBox3 - {0.3125, -0.1875, 0.3, 0.4375, -0.1575, 0.5}, -- NodeBox4 - {-0.4375, -0.1875, 0.3, -0.3125, -0.1575, 0.5}, -- NodeBox5 - {-0.365, -0.3125, 0.32, -0.3225, -0.1875, 0.4375}, -- NodeBox6 - {0.3225, -0.3125, 0.32, 0.365, -0.1875, 0.4375}, -- NodeBox7 - } - }, - selection_box = { - type = "fixed", - fixed = { -0.45, -0.5, -0.5, 0.45, 0.35, 1.5 } - }, - expand = { forward="homedecor:deckchair_head" }, -}) - homedecor.register("wall_shelf", { description = "Wall Shelf", tiles = { diff --git a/mods/homedecor_modpack/homedecor/handlers/expansion.lua b/mods/homedecor_modpack/homedecor/handlers/expansion.lua index 2301ef37..b7bb553e 100755 --- a/mods/homedecor_modpack/homedecor/handlers/expansion.lua +++ b/mods/homedecor_modpack/homedecor/handlers/expansion.lua @@ -50,6 +50,8 @@ end -- leave the last argument nil if it's one 2m high node function homedecor.stack_vertically(itemstack, placer, pointed_thing, node1, node2) local pos, def = select_node(pointed_thing) + if not def then return end -- rare corner case, but happened in #205 + if def.on_rightclick then return def.on_rightclick(pointed_thing.under, minetest.get_node(pos), placer, itemstack) end @@ -69,6 +71,8 @@ local fdir_to_left = { } function homedecor.stack_wing(itemstack, placer, pointed_thing, node1, node2, node1_right, node2_right) local pos, def = select_node(pointed_thing) + if not def then return end -- rare corner case, but happened in #205 + if def.on_rightclick then return def.on_rightclick(pointed_thing.under, minetest.get_node(pos), placer, itemstack) end @@ -102,6 +106,8 @@ homedecor.fdir_to_fwd = { function homedecor.stack_sideways(itemstack, placer, pointed_thing, node1, node2, dir) local pos, def = select_node(pointed_thing) + if not def then return end -- rare corner case, but happened in #205 + if def.on_rightclick then return def.on_rightclick(pointed_thing.under, minetest.get_node(pos), placer, itemstack) end diff --git a/mods/homedecor_modpack/homedecor/lighting.lua b/mods/homedecor_modpack/homedecor/lighting.lua index f70edef2..355babc8 100755 --- a/mods/homedecor_modpack/homedecor/lighting.lua +++ b/mods/homedecor_modpack/homedecor/lighting.lua @@ -16,7 +16,7 @@ for i in ipairs(colors) do interval = 1, chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) - minetest.add_node(pos, {name = "homedecor:glowlight_quarter_"..color, param2 = 20}) + minetest.set_node(pos, {name = "homedecor:glowlight_quarter_"..color, param2 = 20}) end, }) @@ -25,7 +25,7 @@ for i in ipairs(colors) do interval = 1, chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) - minetest.add_node(pos, {name = "homedecor:glowlight_half_"..color, param2 = 20}) + minetest.set_node(pos, {name = "homedecor:glowlight_half_"..color, param2 = 20}) end, }) @@ -36,7 +36,7 @@ for i in ipairs(colors) do action = function(pos, node, active_object_count, active_object_count_wider) local fdir = node.param2 or 0 local nfdir = dirs2[fdir+1] - minetest.add_node(pos, {name = "homedecor:glowlight_quarter_"..color, param2 = nfdir}) + minetest.set_node(pos, {name = "homedecor:glowlight_quarter_"..color, param2 = nfdir}) end, }) @@ -47,7 +47,7 @@ for i in ipairs(colors) do action = function(pos, node, active_object_count, active_object_count_wider) local fdir = node.param2 or 0 local nfdir = dirs2[fdir+1] - minetest.add_node(pos, {name = "homedecor:glowlight_half_"..color, param2 = nfdir}) + minetest.set_node(pos, {name = "homedecor:glowlight_half_"..color, param2 = nfdir}) end, }) @@ -56,7 +56,7 @@ for i in ipairs(colors) do interval = 1, chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) - minetest.add_node(pos, {name = "homedecor:glowlight_small_cube_"..color, param2 = 20}) + minetest.set_node(pos, {name = "homedecor:glowlight_small_cube_"..color, param2 = 20}) end, }) @@ -82,7 +82,7 @@ homedecor.register("glowlight_half_"..color, { selection_box = glowlight_nodebox.half, node_box = glowlight_nodebox.half, groups = { snappy = 3 }, - light_source = default.LIGHT_MAX, + light_source = LIGHT_MAX, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -100,7 +100,7 @@ homedecor.register("glowlight_quarter_"..color, { selection_box = glowlight_nodebox.quarter, node_box = glowlight_nodebox.quarter, groups = { snappy = 3 }, - light_source = default.LIGHT_MAX-1, + light_source = LIGHT_MAX-1, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -120,7 +120,7 @@ homedecor.register("glowlight_small_cube_"..color, { selection_box = glowlight_nodebox.small_cube, node_box = glowlight_nodebox.small_cube, groups = { snappy = 3 }, - light_source = default.LIGHT_MAX-1, + light_source = LIGHT_MAX-1, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -138,7 +138,7 @@ homedecor.register("plasma_lamp", { } }, -- use_texture_alpha = true, - light_source = default.LIGHT_MAX - 1, + light_source = LIGHT_MAX - 1, sunlight_propagates = true, groups = {cracky=3,oddly_breakable_by_hand=3}, sounds = default.node_sound_glass_defaults(), @@ -170,7 +170,7 @@ homedecor.register("candle", { }, sunlight_propagates = true, groups = { snappy = 3 }, - light_source = default.LIGHT_MAX-4, + light_source = LIGHT_MAX-4, sounds = default.node_sound_wood_defaults(), }) @@ -190,7 +190,7 @@ homedecor.register("candle_thin", { sunlight_propagates = true, walkable = false, groups = { snappy = 3 }, - light_source = default.LIGHT_MAX-4, + light_source = LIGHT_MAX-4, }) homedecor.register("oil_lamp", { @@ -206,7 +206,7 @@ homedecor.register("oil_lamp", { } }, groups = { snappy = 3 }, - light_source = default.LIGHT_MAX-4, + light_source = LIGHT_MAX-4, sounds = default.node_sound_wood_defaults(), }) @@ -250,7 +250,7 @@ homedecor.register("lattice_lantern_large", { description = S("Lattice lantern (large)"), tiles = { 'homedecor_lattice_lantern_large.png' }, groups = { snappy = 3 }, - light_source = default.LIGHT_MAX - 1, + light_source = LIGHT_MAX, sounds = default.node_sound_wood_defaults(), }) @@ -270,7 +270,7 @@ homedecor.register("lattice_lantern_small", { fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 } }, groups = { snappy = 3 }, - light_source = default.LIGHT_MAX-1, + light_source = LIGHT_MAX-1, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) diff --git a/mods/homedecor_modpack/homedecor/tables.lua b/mods/homedecor_modpack/homedecor/tables.lua index 27a4254e..f15275f9 100755 --- a/mods/homedecor_modpack/homedecor/tables.lua +++ b/mods/homedecor_modpack/homedecor/tables.lua @@ -110,7 +110,7 @@ minetest.register_abm({ action = function(pos, node, active_object_count, active_object_count_wider) local newnode = string.sub(node.name, 1, -3) -- strip the "_s" from the name local fdir = node.param2 or 0 - minetest.add_node(pos, {name = newnode, param2 = dirs2[fdir+1]}) + minetest.set_node(pos, {name = newnode, param2 = dirs2[fdir+1]}) end }) diff --git a/mods/homedecor_modpack/homedecor/textures/homedecor_wall_lantern.png b/mods/homedecor_modpack/homedecor/textures/homedecor_wall_lantern.png deleted file mode 100755 index 738f64ea..00000000 Binary files a/mods/homedecor_modpack/homedecor/textures/homedecor_wall_lantern.png and /dev/null differ