MineClone2/mods/ITEMS/mcl_itemframes/init.lua

81 lines
2.8 KiB
Lua
Raw Normal View History

2022-10-26 13:44:48 +02:00
local modname = minetest.get_current_modname()
local modpath = minetest.get_modpath(modname)
2015-06-29 19:55:56 +02:00
2022-10-26 13:44:48 +02:00
local S = minetest.get_translator(minetest.get_current_modname())
2015-06-29 19:55:56 +02:00
2022-10-26 13:44:48 +02:00
if 1 == 1 then
minetest.log("action", "[mcl_itemframes] initialized.")
2015-06-29 19:55:56 +02:00
end
2022-10-26 13:44:48 +02:00
-- mcl_itemframes API
dofile(modpath .. "/item_frames_API.lua")
2022-10-26 13:44:48 +02:00
mcl_itemframes.create_base_frames()
2015-06-29 19:55:56 +02:00
2022-10-26 13:44:48 +02:00
-- Register the base item_frame's recipes.
-- was going to make it a specialized function, but minetest refuses to play nice.
2017-01-12 03:04:58 +01:00
minetest.register_craft({
2022-10-26 13:44:48 +02:00
output = "mcl_itemframes:item_frame",
recipe = {
{ "mcl_core:stick", "mcl_core:stick", "mcl_core:stick" },
{ "mcl_core:stick", "mcl_mobitems:leather", "mcl_core:stick" },
{ "mcl_core:stick", "mcl_core:stick", "mcl_core:stick" },
}
2017-01-12 03:04:58 +01:00
})
2022-10-26 13:44:48 +02:00
minetest.register_craft({
type = "shapeless",
output = 'mcl_itemframes:glow_item_frame',
recipe = { 'mcl_mobitems:glow_ink_sac', 'mcl_itemframes:item_frame' },
})
2018-05-13 00:57:32 +02:00
-- test for the create custom frame
mcl_itemframes.create_custom_frame("false", "my_regular_frame", false, "mcl_itemframes_item_frame.png", mcl_colors.DARK_GREEN, "A Green frame", "My Green Frame")
mcl_itemframes.create_custom_frame("false", "my_glowing_frame", true, "mcl_itemframes_glow_item_frame.png", mcl_colors.DARK_GREEN, "A Green glowing frame", "My Green glowing Frame")
if 1 == 1 then
minetest.log("action", "registering custom frame recipes [start].")
end
minetest.register_craft({
output = "mcl_itemframes:my_regular_frame",
recipe = {
{ "mcl_core:stick", "mcl_core:stick", "mcl_core:stick" },
{ "mcl_core:stick", "mcl_core:stick", "mcl_core:stick" },
{ "mcl_core:stick", "mcl_core:stick", "mcl_core:stick" },
}
})
minetest.register_craft({
type = "shapeless",
output = "mcl_itemframes:my_glowing_frame",
recipe = { "mcl_mobitems:glow_ink_sac", "mcl_itemframes:my_regular_frame" },
})
if 1 == 1 then
minetest.log("action", "registering custom frame recipes [finished].")
end
2022-10-26 13:44:48 +02:00
-- for compatibility:
2019-02-18 21:58:31 +01:00
minetest.register_lbm({
2022-10-26 13:44:48 +02:00
label = "Update legacy item frames",
name = "mcl_itemframes:update_legacy_item_frames",
nodenames = { "itemframes:frame" },
action = function(pos, node)
-- Swap legacy node, then respawn entity
node.name = "mcl_itemframes:item_frame"
local meta = minetest.get_meta(pos)
local item = meta:get_string("item")
minetest.swap_node(pos, node)
if item ~= "" then
local itemstack = ItemStack(minetest.deserialize(meta:get_string("itemdata")))
local inv = meta:get_inventory()
inv:set_size("main", 1)
if not itemstack:is_empty() then
inv:set_stack("main", 1, itemstack)
end
end
mcl_itemframes.update_item_entity(pos, node)
end,
2019-02-18 21:58:31 +01:00
})
2018-05-13 00:57:32 +02:00
minetest.register_alias("itemframes:frame", "mcl_itemframes:item_frame")