begin adding check if item canbe cut
parent
7523727521
commit
47990eec2b
|
@ -13,6 +13,31 @@ local recipes = {
|
||||||
{"mcl_core:diorite", "mcl_stairs:slab_diorite", "mcl_walls:diorite", "mcl_stairs:stair_diorite", "mcl_core:diorite_smooth", "mcl_stairs:stair_diorite_smooth", "mcl_stairs:slab_diorite_smooth"},
|
{"mcl_core:diorite", "mcl_stairs:slab_diorite", "mcl_walls:diorite", "mcl_stairs:stair_diorite", "mcl_core:diorite_smooth", "mcl_stairs:stair_diorite_smooth", "mcl_stairs:slab_diorite_smooth"},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local compaitble_items = {
|
||||||
|
"mcl_core:cobble",
|
||||||
|
"mcl_core:mossycobble",
|
||||||
|
"mcl_core:stone",
|
||||||
|
"mcl_core:stone_smooth",
|
||||||
|
"mcl_core:granite",
|
||||||
|
"mcl_core:granite_smooth",
|
||||||
|
"mcl_core:diorite",
|
||||||
|
"mcl_core:diorite_smooth",
|
||||||
|
"mcl_core:andesite",
|
||||||
|
"mcl_core:andesite_smooth",
|
||||||
|
"mcl_core:stonebrick",
|
||||||
|
"mcl_core:stonebrickmossy",
|
||||||
|
"mcl_core:sandstone",
|
||||||
|
"mcl_core:redsandstone",
|
||||||
|
"mcl_ocean:prismarine",
|
||||||
|
"mcl_ocean:prismarine_brick",
|
||||||
|
"mcl_ocean:prismarine_dark",
|
||||||
|
"mcl_mud:mud_bricks",
|
||||||
|
"mcl_nether:quartzblock",
|
||||||
|
"mcl_nether:quartz_smooth",
|
||||||
|
"mcl_end:purpur_block",
|
||||||
|
"mcl_end:end_bricks",
|
||||||
|
}
|
||||||
|
|
||||||
local FMT = {
|
local FMT = {
|
||||||
item_image_button = "item_image_button[%f,%f;%f,%f;%s;%s;%s]",
|
item_image_button = "item_image_button[%f,%f;%f,%f;%s;%s;%s]",
|
||||||
}
|
}
|
||||||
|
@ -55,10 +80,30 @@ local function show_stonecutter_formspec(items, input)
|
||||||
return formspec
|
return formspec
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function get_item_string_name(input)
|
||||||
|
local colonIndex = string.find(input, ":")
|
||||||
|
if colonIndex then
|
||||||
|
input = string.sub(input, colonIndex + 1)
|
||||||
|
else
|
||||||
|
return input
|
||||||
|
end
|
||||||
|
local whitespaceIndex = string.find(input, "%s")
|
||||||
|
if whitespaceIndex then
|
||||||
|
return string.sub(input, 1, whitespaceIndex - 1)
|
||||||
|
else
|
||||||
|
return input
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
local function update_stonecutter_slots(meta)
|
local function update_stonecutter_slots(meta)
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
local input = inv:get_stack("input", 1)
|
local input = inv:get_stack("input", 1)
|
||||||
local name = input:get_name()
|
local name = input:get_name()
|
||||||
|
local name_stripped = get_item_string_name(input:to_string())
|
||||||
|
if name_stripped ~= "" then
|
||||||
|
local itemdef = minetest.registered_items["mcl_stairs:stair_"..name_stripped]
|
||||||
|
print(itemdef)
|
||||||
|
end
|
||||||
|
|
||||||
local new_output = ItemStack(meta:get_string("cut_stone"))
|
local new_output = ItemStack(meta:get_string("cut_stone"))
|
||||||
if not input:is_empty() then
|
if not input:is_empty() then
|
||||||
|
@ -162,8 +207,8 @@ minetest.register_node("mcl_stonecutter:stonecutter", {
|
||||||
local input = inv:get_stack("input", 1)
|
local input = inv:get_stack("input", 1)
|
||||||
input:take_item()
|
input:take_item()
|
||||||
inv:set_stack("input", 1, input)
|
inv:set_stack("input", 1, input)
|
||||||
meta:set_string("cut_stone", nil)
|
|
||||||
end
|
end
|
||||||
|
meta:set_string("cut_stone", nil)
|
||||||
update_stonecutter_slots(meta)
|
update_stonecutter_slots(meta)
|
||||||
end,
|
end,
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
|
|
Loading…
Reference in New Issue