diff --git a/computer/tetris.lua b/computer/tetris.lua index 6e7aa870..e985e0e6 100644 --- a/computer/tetris.lua +++ b/computer/tetris.lua @@ -248,6 +248,7 @@ minetest.register_node("computer:tetris_arcade", { paramtype = "light", paramtype2 = "facedir", groups = {snappy=3}, + on_rotate = screwdriver.rotate_simple, selection_box = { type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5} diff --git a/fake_fire/init.lua b/fake_fire/init.lua index 79307fbf..b72db191 100644 --- a/fake_fire/init.lua +++ b/fake_fire/init.lua @@ -107,6 +107,7 @@ minetest.register_node("fake_fire:fancy_fire", { light_source = 14, walkable = false, damage_per_second = 4, + on_rotate = screwdriver.rotate_simple, tiles = { {name="fake_fire_animated.png", animation={type='vertical_frames', aspect_w=16, aspect_h=16, length=1}}, {name='fake_fire_logs.png'}}, diff --git a/homedecor/bathroom_sanitation.lua b/homedecor/bathroom_sanitation.lua index 8ec19f14..9628721d 100644 --- a/homedecor/bathroom_sanitation.lua +++ b/homedecor/bathroom_sanitation.lua @@ -150,7 +150,8 @@ homedecor.register("taps", { groups = {cracky=3}, sounds = default.node_sound_stone_defaults(), on_rightclick = taps_on_rightclick, - on_destruct = homedecor.stop_particle_spawner + on_destruct = homedecor.stop_particle_spawner, + on_rotate = screwdriver.disallow }) homedecor.register("taps_brass", { @@ -172,7 +173,8 @@ homedecor.register("taps_brass", { groups = {cracky=3}, sounds = default.node_sound_stone_defaults(), on_rightclick = taps_on_rightclick, - on_destruct = homedecor.stop_particle_spawner + on_destruct = homedecor.stop_particle_spawner, + on_rotate = screwdriver.disallow }) --Shower Tray @@ -225,6 +227,7 @@ homedecor.register("shower_head", { groups = {snappy=3}, selection_box = sh_cbox, walkable = false, + on_rotate = screwdriver.disallow, on_rightclick = function (pos, node, clicker) local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-2.0, z=pos.z}) if below and below.name == "homedecor:shower_tray" then diff --git a/homedecor/beds.lua b/homedecor/beds.lua index 73d51201..282ea27d 100644 --- a/homedecor/beds.lua +++ b/homedecor/beds.lua @@ -64,6 +64,7 @@ for i in ipairs(bedcolors) do selection_box = bed_sbox, collision_box = bed_cbox, sounds = default.node_sound_wood_defaults(), + on_rotate = screwdriver.disallow, after_place_node = function(pos, placer, itemstack, pointed_thing) if not placer:get_player_control().sneak then return homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, color) @@ -93,6 +94,7 @@ for i in ipairs(bedcolors) do collision_box = bed_cbox, sounds = default.node_sound_wood_defaults(), expand = { forward = "air" }, + on_rotate = screwdriver.disallow, after_dig_node = function(pos) homedecor.unextend_bed(pos, color) end, @@ -121,6 +123,7 @@ for i in ipairs(bedcolors) do selection_box = kbed_sbox, collision_box = kbed_cbox, sounds = default.node_sound_wood_defaults(), + on_rotate = screwdriver.disallow, after_dig_node = function(pos, oldnode, oldmetadata, digger) local inv = digger:get_inventory() if digger:get_player_control().sneak and inv:room_for_item("main", "bed_"..color.."_regular 1") then diff --git a/homedecor/climate-control.lua b/homedecor/climate-control.lua index dc3dbc43..cd495640 100644 --- a/homedecor/climate-control.lua +++ b/homedecor/climate-control.lua @@ -37,6 +37,7 @@ homedecor.register("desk_fan", { inventory_image = "homedecor_desk_fan_inv.png", wield_image = "homedecor_desk_fan_inv.png", selection_box = { type = "regular" }, + on_rotate = screwdriver.disallow, on_construct = function(pos) local entity_remove = minetest.get_objects_inside_radius(pos, 0.1) local meta = minetest.get_meta(pos) diff --git a/homedecor/clocks.lua b/homedecor/clocks.lua index 4e8beec3..1fc6a6cb 100644 --- a/homedecor/clocks.lua +++ b/homedecor/clocks.lua @@ -92,6 +92,7 @@ homedecor.register("grandfather_clock", { collision_box = gf_cbox, sounds = default.node_sound_wood_defaults(), expand = { top="air" }, + on_rotate = screwdriver.rotate_simple }) minetest.register_alias("homedecor:grandfather_clock_bottom", "homedecor:grandfather_clock") diff --git a/homedecor/doors_and_gates.lua b/homedecor/doors_and_gates.lua index 53c2ef80..5a51dbf2 100644 --- a/homedecor/doors_and_gates.lua +++ b/homedecor/doors_and_gates.lua @@ -243,6 +243,7 @@ for i in ipairs(sides) do use_texture_alpha = door_model.usealpha, selection_box = selbox, collision_box = colbox, + on_rotate = screwdriver.rotate_simple, on_place = function(itemstack, placer, pointed_thing) return homedecor.stack_wing(itemstack, placer, pointed_thing, "homedecor:door_"..doorname.."_left", "air", @@ -620,6 +621,7 @@ minetest.register_node("homedecor:door_japanese_open", { paramtype2 = "facedir", groups = { snappy = 3, not_in_creative_inventory = 1 }, sounds = default.node_sound_wood_defaults(), + on_rotate = screwdriver.disallow, selection_box = { type = "fixed", fixed = {-1.5, -0.5, -0.0625, 0.5, 1.5, 0}, diff --git a/homedecor/exterior.lua b/homedecor/exterior.lua index a8deb8d5..6a7656bc 100644 --- a/homedecor/exterior.lua +++ b/homedecor/exterior.lua @@ -56,6 +56,7 @@ homedecor.register("bench_large_1", { sounds = default.node_sound_wood_defaults(), selection_box = bl1_sbox, node_box = bl1_cbox, + on_rotate = screwdriver.disallow }) minetest.register_alias("homedecor:bench_large_1_left", "homedecor:bench_large_1") @@ -84,6 +85,7 @@ homedecor.register("bench_large_2", { node_box = bl2_cbox, expand = { right="air" }, sounds = default.node_sound_wood_defaults(), + on_rotate = screwdriver.disallow }) minetest.register_alias("homedecor:bench_large_2_left", "homedecor:bench_large_2") @@ -103,6 +105,7 @@ homedecor.register("deckchair", { sounds = default.node_sound_wood_defaults(), selection_box = dc_cbox, collision_box = dc_cbox, + on_rotate = screwdriver.disallow }) minetest.register_alias("homedecor:deckchair_foot", "homedecor:deckchair") @@ -117,6 +120,7 @@ homedecor.register("deckchair_striped_blue", { sounds = default.node_sound_wood_defaults(), selection_box = dc_cbox, collision_box = dc_cbox, + on_rotate = screwdriver.disallow }) homedecor.register("doghouse", { @@ -133,6 +137,7 @@ homedecor.register("doghouse", { groups = {snappy=3}, expand = { top="air" }, sounds = default.node_sound_wood_defaults(), + on_rotate = screwdriver.rotate_simple }) minetest.register_alias("homedecor:doghouse_roof", "air") @@ -222,6 +227,7 @@ homedecor.register("swing", { groups = { snappy=3, oddly_breakable_by_hand=3 }, sounds = default.node_sound_wood_defaults(), walkable = false, + on_rotate = screwdriver.disallow, node_box = { type = "fixed", fixed = { @@ -318,6 +324,7 @@ homedecor.register("well", { collision_box = homedecor.nodebox.slab_y(2), expand = { top="air" }, sounds = default.node_sound_stone_defaults(), + on_rotate = screwdriver.rotate_simple }) if minetest.get_modpath("bucket") then diff --git a/homedecor/furniture.lua b/homedecor/furniture.lua index 183681db..d1054a85 100644 --- a/homedecor/furniture.lua +++ b/homedecor/furniture.lua @@ -181,6 +181,7 @@ homedecor.register("office_chair_"..c, { selection_box = ofchairs_sbox, collision_box = ofchairs_cbox, expand = { top = "air" }, + on_rotate = screwdriver.rotate_simple }) end diff --git a/homedecor/init.lua b/homedecor/init.lua index 75507600..222b8fa6 100644 --- a/homedecor/init.lua +++ b/homedecor/init.lua @@ -99,6 +99,8 @@ function homedecor.find_ceiling(itemstack, placer, pointed_thing) return isceiling, pos end +if screwdriver == nil then screwdriver = {} end + homedecor.plain_wood = "homedecor_generic_wood_plain.png^".. "(homedecor_generic_wood_boards_overlay.png^[colorize:#a7682020:100)" diff --git a/homedecor/kitchen_appliances.lua b/homedecor/kitchen_appliances.lua index 3918909e..cb202793 100644 --- a/homedecor/kitchen_appliances.lua +++ b/homedecor/kitchen_appliances.lua @@ -18,6 +18,7 @@ homedecor.register("refrigerator_steel", { size=50, lockable=true, }, + on_rotate = screwdriver.rotate_simple }) -- white, enameled fridge @@ -36,6 +37,7 @@ homedecor.register("refrigerator_white", { size=50, lockable=true }, + on_rotate = screwdriver.rotate_simple }) minetest.register_alias("homedecor:refrigerator_white_bottom", "homedecor:refrigerator_white") @@ -116,7 +118,8 @@ homedecor.register("coffee_maker", { walkable = false, groups = {snappy=3}, selection_box = cm_cbox, - node_box = cm_cbox + node_box = cm_cbox, + on_rotate = screwdriver.disallow }) local fdir_to_steampos = { diff --git a/homedecor/kitchen_furniture.lua b/homedecor/kitchen_furniture.lua index 94a2bae6..146ce089 100644 --- a/homedecor/kitchen_furniture.lua +++ b/homedecor/kitchen_furniture.lua @@ -113,6 +113,7 @@ homedecor.register("kitchen_faucet", { groups = {snappy=3}, selection_box = kf_cbox, walkable = false, + on_rotate = screwdriver.disallow, on_rightclick = function(pos, node, clicker) local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z}) if below and diff --git a/homedecor/lighting.lua b/homedecor/lighting.lua index 845d5bb3..440e8b77 100644 --- a/homedecor/lighting.lua +++ b/homedecor/lighting.lua @@ -472,6 +472,7 @@ local function reg_lamp(suffix, nxt, tilesuffix, light, color) }, selection_box = slamp_cbox, sounds = default.node_sound_wood_defaults(), + on_rotate = screwdriver.rotate_simple, on_punch = function(pos, node, puncher) node.name = "homedecor:standing_lamp"..lampcolor.."_"..repl[suffix] minetest.set_node(pos, node) diff --git a/homedecor/misc-nodes.lua b/homedecor/misc-nodes.lua index b711ea48..c9ba3865 100644 --- a/homedecor/misc-nodes.lua +++ b/homedecor/misc-nodes.lua @@ -280,6 +280,7 @@ homedecor.register("pool_table", { collision_box = pooltable_cbox, expand = { forward="air" }, sounds = default.node_sound_wood_defaults(), + on_rotate = screwdriver.disallow }) minetest.register_alias("homedecor:pool_table_2", "air") @@ -322,6 +323,7 @@ homedecor.register("coat_tree", { type = "fixed", fixed = { -0.4, -0.5, -0.4, 0.4, 1.5, 0.4 } }, + on_rotate = screwdriver.rotate_simple }) local cutlery_cbox = { @@ -439,6 +441,7 @@ homedecor.register("piano", { collision_box = piano_cbox, expand = { right="air" }, sounds = default.node_sound_wood_defaults(), + on_rotate = screwdriver.disallow }) minetest.register_alias("homedecor:piano_left", "homedecor:piano") @@ -562,6 +565,7 @@ homedecor.register("tool_cabinet", { "homedecor_tool_cabinet_misc.png", }, inventory_image = "homedecor_tool_cabinet_inv.png", + on_rotate = screwdriver.rotate_simple, groups = { snappy=3 }, selection_box = homedecor.nodebox.slab_y(2), expand = { top="air" }, @@ -802,6 +806,7 @@ homedecor.register("spiral_staircase", { }, groups = {choppy=2}, sounds = default.node_sound_wood_defaults(), + on_rotate = screwdriver.rotate_simple, after_place_node = function(pos, placer, itemstack, pointed_thing) local fdir = minetest.dir_to_facedir(placer:get_look_dir()) local leftx = homedecor.fdir_to_left[fdir+1][1] @@ -870,6 +875,7 @@ homedecor.register("soda_machine", { collision_box = svm_cbox, expand = { top="air" }, sounds = default.node_sound_wood_defaults(), + on_rotate = screwdriver.rotate_simple, on_punch = function(pos, node, puncher, pointed_thing) local wielditem = puncher:get_wielded_item() local wieldname = wielditem:get_name() diff --git a/homedecor/wardrobe.lua b/homedecor/wardrobe.lua index d2b2248d..d66a38a4 100644 --- a/homedecor/wardrobe.lua +++ b/homedecor/wardrobe.lua @@ -19,6 +19,7 @@ homedecor.register("wardrobe", { collision_box = wd_cbox, sounds = default.node_sound_wood_defaults(), expand = { top="air" }, + on_rotate = screwdriver.rotate_simple, on_construct = function(pos) local meta = minetest.get_meta(pos) local skins = {"male1", "male2", "male3", "male4", "male5"} diff --git a/inbox/init.lua b/inbox/init.lua index 0c6db754..940ec610 100644 --- a/inbox/init.lua +++ b/inbox/init.lua @@ -30,6 +30,7 @@ minetest.register_node("inbox:empty", { paramtype2 = "facedir", groups = {choppy=2,oddly_breakable_by_hand=2}, sounds = default.node_sound_wood_defaults(), + on_rotate = screwdriver.rotate_simple, after_place_node = function(pos, placer, itemstack) local meta = minetest.get_meta(pos) local owner = placer:get_player_name() diff --git a/itemframes/init.lua b/itemframes/init.lua index 030e14b8..47b4e45f 100644 --- a/itemframes/init.lua +++ b/itemframes/init.lua @@ -110,6 +110,7 @@ minetest.register_node("itemframes:frame",{ groups = { choppy=2,dig_immediate=2 }, legacy_wallmounted = true, sounds = default.node_sound_defaults(), + on_rotate = screwdriver.disallow, after_place_node = function(pos, placer, itemstack) local meta = minetest.get_meta(pos) meta:set_string("owner",placer:get_player_name()) @@ -155,6 +156,7 @@ minetest.register_node("itemframes:pedestal",{ paramtype = "light", groups = { cracky=3 }, sounds = default.node_sound_defaults(), + on_rotate = screwdriver.disallow, after_place_node = function(pos, placer, itemstack) local meta = minetest.get_meta(pos) meta:set_string("owner",placer:get_player_name()) diff --git a/lrfurn/longsofas.lua b/lrfurn/longsofas.lua index b90c1ae9..321a7ad8 100644 --- a/lrfurn/longsofas.lua +++ b/lrfurn/longsofas.lua @@ -41,6 +41,7 @@ for i in ipairs(longsofas_list) do sounds = default.node_sound_wood_defaults(), selection_box = longsofa_sbox, node_box = longsofa_cbox, + on_rotate = screwdriver.disallow, on_place = function(itemstack, placer, pointed_thing) local pos = pointed_thing.above local fdir = minetest.dir_to_facedir(placer:get_look_dir(), false) diff --git a/lrfurn/sofas.lua b/lrfurn/sofas.lua index 892223b3..32b03020 100644 --- a/lrfurn/sofas.lua +++ b/lrfurn/sofas.lua @@ -41,6 +41,7 @@ for i in ipairs(sofas_list) do sounds = default.node_sound_wood_defaults(), selection_box = sofa_sbox, node_box = sofa_cbox, + on_rotate = screwdriver.disallow, on_place = function(itemstack, placer, pointed_thing) local pos = pointed_thing.above local fdir = minetest.dir_to_facedir(placer:get_look_dir(), false) diff --git a/plasmascreen/init.lua b/plasmascreen/init.lua index 36f5a384..ab3e059a 100644 --- a/plasmascreen/init.lua +++ b/plasmascreen/init.lua @@ -114,6 +114,7 @@ minetest.register_node("plasmascreen:tv", { light_source = 10, selection_box = tv_cbox, collision_box = tv_cbox, + on_rotate = screwdriver.disallow, groups = {snappy=1, choppy=2, oddly_breakable_by_hand=2}, after_place_node = function(pos, placer, itemstack) if not checkwall(pos) then