2022-10-26 11:44:48 +00:00
local modname = minetest.get_current_modname ( )
local modpath = minetest.get_modpath ( modname )
2015-06-29 17:55:56 +00:00
2022-10-26 11:44:48 +00:00
local S = minetest.get_translator ( minetest.get_current_modname ( ) )
2015-06-29 17:55:56 +00:00
2022-10-26 11:44:48 +00:00
if 1 == 1 then
minetest.log ( " action " , " [mcl_itemframes] initialized. " )
2015-06-29 17:55:56 +00:00
end
2022-10-26 11:44:48 +00:00
-- mcl_itemframes API
dofile ( modpath .. " /item_frames_API.lua " )
2018-05-12 17:21:41 +00:00
2022-10-26 11:44:48 +00:00
mcl_itemframes.create_base_frames ( )
2015-06-29 17:55:56 +00:00
2022-10-26 11:44:48 +00: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 02:04:58 +00:00
minetest.register_craft ( {
2022-10-26 11:44:48 +00: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 02:04:58 +00:00
} )
2018-05-12 16:18:17 +00:00
2022-10-26 11:44:48 +00:00
minetest.register_craft ( {
type = " shapeless " ,
output = ' mcl_itemframes:glow_item_frame ' ,
recipe = { ' mcl_mobitems:glow_ink_sac ' , ' mcl_itemframes:item_frame ' } ,
2018-05-12 16:50:44 +00:00
} )
2018-05-12 22:57:32 +00:00
2022-11-01 00:54:19 +00: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 11:44:48 +00:00
-- for compatibility:
2019-02-18 20:58:31 +00:00
minetest.register_lbm ( {
2022-10-26 11:44:48 +00: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 20:58:31 +00:00
} )
2018-05-12 22:57:32 +00:00
minetest.register_alias ( " itemframes:frame " , " mcl_itemframes:item_frame " )