diff --git a/README.md b/README.md index 334c58e..59e7510 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ [Mod] connected chests [connected_chests] -This mod allows making bigger default chests. -Just hold shift and place a chest onto another one's side. +This mod allows making bigger default chests. +Just hold shift and place a chest onto another one's side. This is not the first mod which adds big chests. -**Depends:** see [depends.txt](https://raw.githubusercontent.com/HybridDog/connected_chests/master/depends.txt) -**License:** see [LICENSE.txt](https://raw.githubusercontent.com/HybridDog/connected_chests/master/LICENSE.txt) -**Download:** [zip](https://github.com/HybridDog/connected_chests/archive/master.zip), [tar.gz](https://github.com/HybridDog/connected_chests/tarball/master) +**Depends:** see [depends.txt](https://raw.githubusercontent.com/HybridDog/connected_chests/master/depends.txt) +**License:** see [LICENSE.txt](https://raw.githubusercontent.com/HybridDog/connected_chests/master/LICENSE.txt) +**Download:** [zip](https://github.com/HybridDog/connected_chests/archive/master.zip), [tar.gz](https://github.com/HybridDog/connected_chests/tarball/master) ![I'm a screenshot!](http://wiki.minetest.net/images/d/d1/Connected_chest.png) @@ -15,6 +15,5 @@ If you got ideas or found bugs, please tell them to me. [How to install a mod?](http://wiki.minetest.net/Installing_Mods) -TODO: -* disallow rotating the chest with a screwdriver +TODO: * add abms when registering the chest instead of using chestdata diff --git a/init.lua b/init.lua index d03e165..9059bbe 100644 --- a/init.lua +++ b/init.lua @@ -155,21 +155,22 @@ function connected_chests.register_chest(fromname, data) -- override the original node to support connecting local place_chest = minetest.registered_nodes[fromname].on_place + local creative_mode = minetest.settings:get_bool"creative_mode" minetest.override_item(fromname, { on_place = function(itemstack, placer, pointed_thing) - if not placer then - return + if not placer + or not placer:get_player_control().sneak then + return place_chest(itemstack, placer, pointed_thing) end local pu, pa, par2 = get_pointed_info(pointed_thing, fromname) - if not pu - or not placer:get_player_control().sneak then + if not pu then return place_chest(itemstack, placer, pointed_thing) end if minetest.is_protected(pa, placer:get_player_name()) then return end connect_chests(pu, pa, par2, fromname) - if not minetest.settings:get_bool"creative_mode" then + if not creative_mode then itemstack:take_item() return itemstack end @@ -201,6 +202,12 @@ function connected_chests.register_chest(fromname, data) if data.on_rightclick then chest.on_rightclick = function()print"yem"end--data.on_rightclick end + function chest.on_rotate() + return false + end + if chest.tube then + chest.tube.connect_sides = {left = 1, back = 1, front = 1, bottom = 1, top = 1} + end if not data.front then data.front = "connected_chests_front.png"