summaryrefslogtreecommitdiff
path: root/homedecor/handlers/registration.lua
diff options
context:
space:
mode:
authorVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2019-04-24 18:59:36 -0400
committerVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2019-04-24 18:59:36 -0400
commita5eef1c5de77fa7770877802e66c3e1c53f9a0da (patch)
tree0f36e64a58e5f5bb7d95be6ae692f58f2ebfe483 /homedecor/handlers/registration.lua
parentdda854cf06f90a04a03844e19c4d4ad220e38fe4 (diff)
downloaddreambuilder_modpack-a5eef1c5de77fa7770877802e66c3e1c53f9a0da.tar
dreambuilder_modpack-a5eef1c5de77fa7770877802e66c3e1c53f9a0da.tar.gz
dreambuilder_modpack-a5eef1c5de77fa7770877802e66c3e1c53f9a0da.tar.bz2
dreambuilder_modpack-a5eef1c5de77fa7770877802e66c3e1c53f9a0da.tar.xz
dreambuilder_modpack-a5eef1c5de77fa7770877802e66c3e1c53f9a0da.zip
update castles, areas, homedecor, plantlife,
gloopblocks, hotbar, inspector, maptools, mesecons, moreblocks, moreores, technic, teleport_request, and worldedit switched to caverealms_lite (with minor fixes by me) switched to CWz's fork of player_textures The homedecor update brings in the big split, and will require you to re-enable all modpack components in order to avoid loss of content.
Diffstat (limited to 'homedecor/handlers/registration.lua')
-rw-r--r--homedecor/handlers/registration.lua95
1 files changed, 0 insertions, 95 deletions
diff --git a/homedecor/handlers/registration.lua b/homedecor/handlers/registration.lua
deleted file mode 100644
index 8c20558..0000000
--- a/homedecor/handlers/registration.lua
+++ /dev/null
@@ -1,95 +0,0 @@
-homedecor = homedecor or {}
-
-local placeholder_node = "homedecor:expansion_placeholder"
-
---wrapper around minetest.register_node that sets sane defaults and interprets some specialized settings
-function homedecor.register(name, original_def)
- local def = table.copy(original_def)
-
- def.drawtype = def.drawtype
- or (def.mesh and "mesh")
- or (def.node_box and "nodebox")
-
- def.paramtype = def.paramtype or "light"
-
- -- avoid facedir for some drawtypes as they might be used internally for something else
- -- even if undocumented
- if not (def.drawtype == "glasslike_framed"
- or def.drawtype == "raillike"
- or def.drawtype == "plantlike"
- or def.drawtype == "firelike") then
-
- def.paramtype2 = def.paramtype2 or "facedir"
- end
-
- homedecor.handle_inventory(name, def, original_def)
-
- local infotext = def.infotext
- --def.infotext = nil -- currently used to set locked refrigerator infotexts
-
- if infotext then
- local on_construct = def.on_construct
- def.on_construct = function(pos)
- local meta = minetest.get_meta(pos)
- meta:set_string("infotext", infotext)
- if on_construct then on_construct(pos) end
- end
- end
-
- local expand = def.expand
- def.expand = nil
- local after_unexpand = def.after_unexpand
- def.after_unexpand = nil
-
- if expand then
- -- dissallow rotating only half the expanded node by default
- -- unless we know better
- def.on_rotate = def.on_rotate
- or (def.mesh and expand.top and screwdriver.rotate_simple)
- or screwdriver.disallow
-
- def.on_place = def.on_place or function(itemstack, placer, pointed_thing)
- if expand.top then
- return homedecor.stack_vertically(itemstack, placer, pointed_thing, itemstack:get_name(), expand.top)
- elseif expand.right then
- return homedecor.stack_sideways(itemstack, placer, pointed_thing, itemstack:get_name(), expand.right, true)
- elseif expand.forward then
- return homedecor.stack_sideways(itemstack, placer, pointed_thing, itemstack:get_name(), expand.forward, false)
- end
- end
- def.after_dig_node = def.after_dig_node or function(pos, oldnode, oldmetadata, digger)
- if expand.top and expand.forward ~= "air" then
- local top_pos = { x=pos.x, y=pos.y+1, z=pos.z }
- local node = minetest.get_node(top_pos).name
- if node == expand.top or node == placeholder_node then
- minetest.remove_node(top_pos)
- end
- end
-
- local fdir = oldnode.param2
- if not fdir or fdir > 3 then return end
-
- if expand.right and expand.forward ~= "air" then
- local right_pos = { x=pos.x+homedecor.fdir_to_right[fdir+1][1], y=pos.y, z=pos.z+homedecor.fdir_to_right[fdir+1][2] }
- local node = minetest.get_node(right_pos).name
- if node == expand.right or node == placeholder_node then
- minetest.remove_node(right_pos)
- end
- end
- if expand.forward and expand.forward ~= "air" then
- local forward_pos = { x=pos.x+homedecor.fdir_to_fwd[fdir+1][1], y=pos.y, z=pos.z+homedecor.fdir_to_fwd[fdir+1][2] }
- local node = minetest.get_node(forward_pos).name
- if node == expand.forward or node == placeholder_node then
- minetest.remove_node(forward_pos)
- end
- end
-
- if after_unexpand then
- after_unexpand(pos)
- end
- end
- end
-
- -- register the actual minetest node
- minetest.register_node("homedecor:" .. name, def)
-end