This repository has been archived on 2024-12-09. You can view files and clone it, but cannot push or open issues or pull requests.
Mineclonia/mods/ITEMS/gemalde/init.lua
Wuzzy 3db4148e7d Add some basic doc_items help texts for some items
Requires doc_items (not part of MCL2)
2017-03-02 21:55:25 +01:00

99 lines
2.3 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- Count the number of pictures.
local function get_picture(number)
local filename = minetest.get_modpath("gemalde").."/textures/gemalde_"..number..".png"
local file = io.open(filename, "r")
if file ~= nil then io.close(file) return true else return false end
end
local N = 1
while get_picture(N) == true do
N = N + 1
end
N = N - 1
-- register for each picture
for n=1, N do
local groups = {dig_immediate=3, picture=1, not_in_creative_inventory=1}
if n == 1 then
groups = {dig_immediate=3, picture=1, deco_block=1}
end
local desc, doc, longdesc, usagehelp
if n == 1 then
desc = "Painting"
doc = true
longdesc = "Paintings are decorations which can be placed on walls and cover a space of 3×3 blocks."
usagehelp = "Rightclick the painting to change it."
else
desc = "Painting ("..n..")"
doc = false
end
-- inivisible node
minetest.register_node("gemalde:node_"..n.."", {
description = desc,
_doc_items_create_entry = doc,
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usagehelp,
drawtype = "signlike",
tiles = {"gemalde_"..n..".png","gemalde_bg.png"},
visual_scale = 3.0,
inventory_image = "gemalde_node.png",
is_ground_content = false,
wield_image = "gemalde_node.png",
paramtype = "light",
paramtype2 = "wallmounted",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "wallmounted",
wall_side = { -0.5, -1.5, -1.5, -0.4, 1.5, 1.5 },
},
drop = "gemalde:node_1",
groups = groups,
on_rightclick = function(pos, node, clicker)
local length = string.len (node.name)
local number = string.sub (node.name, 14, length)
-- TODO. Reducing currently not working, because sneaking prevents right click.
local keys=clicker:get_player_control()
if keys["sneak"]==false then
if number == tostring(N) then
number = 1
else
number = number + 1
end
else
if number == 1 then
number = N - 1
else
number = number - 1
end
end
print("[gemalde] number is "..number.."")
node.name = "gemalde:node_"..number..""
minetest.set_node(pos, node)
end,
-- TODO.
-- on_place = minetest.rotate_node
})
end
-- initial craft
minetest.register_craft({
output = 'gemalde:node_1',
recipe = {
{'mcl_core:stick', 'mcl_core:stick', 'mcl_core:stick'},
{'mcl_core:stick', 'group:wool', 'mcl_core:stick'},
{'mcl_core:stick', 'mcl_core:stick', 'mcl_core:stick'},
}
})