From 04999af13d718d2134998b959932cc42cead163b Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Wed, 17 Apr 2013 03:14:09 -0400 Subject: [PATCH] Moved detection of infinite creative-mode stacks to init.lua, changed lights and tables to use it. Fixed tables properly. Fixed missing drops in large square tables. Fixed incorrect texture placement on on-side small square glass and wood tables. --- init.lua | 6 ++++++ lighting.lua | 31 ++++++++++++++----------------- tables.lua | 16 +++++++++------- 3 files changed, 29 insertions(+), 24 deletions(-) diff --git a/init.lua b/init.lua index 12d88939..ce22cd81 100644 --- a/init.lua +++ b/init.lua @@ -59,6 +59,12 @@ function homedecor_node_is_owned(pos, placer) end end +if minetest.get_modpath("unified_inventory") or not minetest.setting_getbool("creative_mode") then + homedecor_expect_infinite_stacks = false +else + homedecor_expect_infinite_stacks = true +end + dofile(minetest.get_modpath("homedecor").."/nodes.lua") -- the catch-all for all misc nodes dofile(minetest.get_modpath("homedecor").."/tables.lua") dofile(minetest.get_modpath("homedecor").."/electronics.lua") diff --git a/lighting.lua b/lighting.lua index d82dc639..df642abc 100644 --- a/lighting.lua +++ b/lighting.lua @@ -10,8 +10,6 @@ else S = function ( s ) return s end end -local unified_inventory = minetest.get_modpath("unified_inventory") - -- Yellow minetest.register_node('homedecor:glowlight_thick_yellow', { @@ -59,8 +57,7 @@ minetest.register_node('homedecor:glowlight_thick_yellow', { else minetest.env:add_node(above, {name = 'homedecor:glowlight_thick_yellow'}) end - print("get_stack_max() of homedecor:glowlight_thick_yellow = "..itemstack:get_stack_max()) - if not minetest.setting_getbool("creative_mode") or unified_inventory then + if not homedecor_expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -114,7 +111,7 @@ minetest.register_node('homedecor:glowlight_thick_yellow_wall', { else minetest.env:add_node(above, {name = 'homedecor:glowlight_thick_yellow'}) end - if not minetest.setting_getbool("creative_mode") or unified_inventory then + if not homedecor_expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -169,7 +166,7 @@ minetest.register_node('homedecor:glowlight_thin_yellow', { else minetest.env:add_node(above, {name = 'homedecor:glowlight_thin_yellow'}) end - if not minetest.setting_getbool("creative_mode") or unified_inventory then + if not homedecor_expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -223,7 +220,7 @@ minetest.register_node('homedecor:glowlight_thin_yellow_wall', { else minetest.env:add_node(above, {name = 'homedecor:glowlight_thin_yellow'}) end - if not minetest.setting_getbool("creative_mode") or unified_inventory then + if not homedecor_expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -278,7 +275,7 @@ minetest.register_node('homedecor:glowlight_small_cube_yellow', { else minetest.env:add_node(above, {name = 'homedecor:glowlight_small_cube_yellow'}) end - if not minetest.setting_getbool("creative_mode") or unified_inventory then + if not homedecor_expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -327,11 +324,11 @@ minetest.register_node('homedecor:glowlight_small_cube_yellow_ceiling', { if node.name ~= "air" then return end if above.x == under.x and above.z == under.z and pitch > 0 then - minetest.env:add_node(above, {name = 'homedecor:glowlight_small_cube_white_ceiling'}) + minetest.env:add_node(above, {name = 'homedecor:glowlight_small_cube_yellow_ceiling'}) else - minetest.env:add_node(above, {name = 'homedecor:glowlight_small_cube_white'}) + minetest.env:add_node(above, {name = 'homedecor:glowlight_small_cube_yellow'}) end - if not minetest.setting_getbool("creative_mode") or unified_inventory then + if not homedecor_expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -388,7 +385,7 @@ minetest.register_node('homedecor:glowlight_thick_white', { else minetest.env:add_node(above, {name = 'homedecor:glowlight_thick_white'}) end - if not minetest.setting_getbool("creative_mode") or unified_inventory then + if not homedecor_expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -442,7 +439,7 @@ minetest.register_node('homedecor:glowlight_thick_white_wall', { else minetest.env:add_node(above, {name = 'homedecor:glowlight_thick_white'}) end - if not minetest.setting_getbool("creative_mode") or unified_inventory then + if not homedecor_expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -497,7 +494,7 @@ minetest.register_node('homedecor:glowlight_thin_white', { else minetest.env:add_node(above, {name = 'homedecor:glowlight_thin_white'}) end - if not minetest.setting_getbool("creative_mode") or unified_inventory then + if not homedecor_expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -551,7 +548,7 @@ minetest.register_node('homedecor:glowlight_thin_white_wall', { else minetest.env:add_node(above, {name = 'homedecor:glowlight_thin_white'}) end - if not minetest.setting_getbool("creative_mode") or unified_inventory then + if not homedecor_expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -605,7 +602,7 @@ minetest.register_node('homedecor:glowlight_small_cube_white', { else minetest.env:add_node(above, {name = 'homedecor:glowlight_small_cube_white'}) end - if not minetest.setting_getbool("creative_mode") or unified_inventory then + if not homedecor_expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -658,7 +655,7 @@ minetest.register_node('homedecor:glowlight_small_cube_white_ceiling', { else minetest.env:add_node(above, {name = 'homedecor:glowlight_small_cube_white'}) end - if not minetest.setting_getbool("creative_mode") or unified_inventory then + if not homedecor_expect_infinite_stacks then itemstack:take_item() return itemstack end diff --git a/tables.lua b/tables.lua index 91392638..f8a43bcb 100644 --- a/tables.lua +++ b/tables.lua @@ -79,7 +79,7 @@ for i in ipairs(materials) do else minetest.env:add_node(above, {name = 'homedecor:'..m..'_table_small_square_b'}) end - if not minetest.setting_getbool("creative_mode") or unified_inventory then + if not homedecor_expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -125,12 +125,12 @@ for i in ipairs(materials) do description = S(d.." Table (Small, Square)"), drawtype = 'nodebox', tiles = { + 'homedecor_'..m..'_table_small_square_edges.png', + 'homedecor_'..m..'_table_small_square_edges.png', + 'homedecor_'..m..'_table_small_square_edges.png', + 'homedecor_'..m..'_table_small_square_edges.png', 'homedecor_'..m..'_table_small_square_tb.png', 'homedecor_'..m..'_table_small_square_tb.png', - 'homedecor_'..m..'_table_small_square_edges.png', - 'homedecor_'..m..'_table_small_square_edges.png', - 'homedecor_'..m..'_table_small_square_edges.png', - 'homedecor_'..m..'_table_small_square_edges.png' }, sunlight_propagates = true, paramtype = 'light', @@ -207,7 +207,7 @@ for i in ipairs(materials) do else minetest.env:add_node(above, {name = 'homedecor:'..m..'_table_small_round_b'}) end - if not minetest.setting_getbool("creative_mode") or unified_inventory then + if not homedecor_expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -334,7 +334,7 @@ for i in ipairs(materials) do else minetest.env:add_node(above, {name = 'homedecor:'..m..'_table_large_b'}) end - if not minetest.setting_getbool("creative_mode") or unified_inventory then + if not homedecor_expect_infinite_stacks then itemstack:take_item() return itemstack end @@ -371,6 +371,7 @@ for i in ipairs(materials) do type = "fixed", fixed = { -0.5, 0.4375, -0.5, 0.5, 0.5, 0.5 }, }, + drop = 'homedecor:'..m..'_table_large_b' }) minetest.register_node('homedecor:'..m..'_table_large_s', { @@ -400,6 +401,7 @@ for i in ipairs(materials) do type = "fixed", fixed = { -0.5, -0.5, 0.4375, 0.5, 0.5, 0.5 }, }, + drop = 'homedecor:'..m..'_table_large_b' }) minetest.register_alias('homedecor:'..m..'_table_large', 'homedecor:'..m..'_table_large_b')