create woodworking mod and refactor.

move plank registration and recipe out of tree mod into newly created
woodworking mod.

also update plank recipe to require cobblestone instead of stone to be
held while pummeling.
This commit is contained in:
trans_soup 2023-10-11 19:05:38 +02:00
parent 09feb14dbb
commit 7df4ddec1c
7 changed files with 31 additions and 26 deletions

View file

@ -29,11 +29,6 @@ blockgame.reg_simple_node("sapling", "Sapling", {
planty = 1,
})
-- TODO: move this to the woodworking mod.
blockgame.reg_simple_node("plank", "Plank", {
woody = 1,
})
minetest.register_node(modname .. ":leaves", {
description = "Leaves",
drawtype = "glasslike",

View file

@ -13,24 +13,3 @@ blockgame.crafting.register_pummel_recipe({
minetest.set_node(pos, {name = "core:dirt"})
end,
})
-- TODO: move this to the woodworking mod.
blockgame.crafting.register_pummel_recipe({
label = "pummel log into plank",
used_item = "core:stone",
target_node = modname .. ":log",
check = function (pos, used_node, target_node)
for _, side in pairs(blockgame.vector.sides) do
local output_pos = pos + side
if minetest.get_node(output_pos).name ~= "air" then return false end
end
return true
end,
on_success = function (pos, used_node, target_node)
minetest.remove_node(pos)
for _, side in pairs(blockgame.vector.sides) do
local output_pos = pos + side
minetest.set_node(output_pos, {name = modname .. ":plank"})
end
end,
})

View file

@ -0,0 +1,2 @@
load_file("node")
load_file("recipes")

View file

@ -0,0 +1,3 @@
name = woodworking
description = blockgame wood related recipes and stuff.
depends = core, crafting, api, tree

View file

@ -0,0 +1,5 @@
local modname = minetest.get_current_modname()
blockgame.reg_simple_node("plank", "Plank", {
woody = 1,
})

View file

@ -0,0 +1,21 @@
local modname = minetest.get_current_modname()
blockgame.crafting.register_pummel_recipe({
label = "pummel log into plank",
used_item = "core:cobblestone",
target_node = "tree:log",
check = function (pos, used_node, target_node)
for _, side in pairs(blockgame.vector.sides) do
local output_pos = pos + side
if minetest.get_node(output_pos).name ~= "air" then return false end
end
return true
end,
on_success = function (pos, used_node, target_node)
minetest.remove_node(pos)
for _, side in pairs(blockgame.vector.sides) do
local output_pos = pos + side
minetest.set_node(output_pos, {name = modname .. ":plank"})
end
end,
})

View file

Before

Width:  |  Height:  |  Size: 218 B

After

Width:  |  Height:  |  Size: 218 B