signs_bot/cmd_trees.lua

99 lines
1.6 KiB
Lua

--[[
Signs Bot
=========
Copyright (C) 2019-2021 Joachim Stolberg
GPL v3
See LICENSE.txt for more information
Bot tree cutting signs
]]--
-- Load support for I18n.
local S = signs_bot.S
local CMNDS = [[-- Harvest pine/aspen trunks v1.0
-- Take dirt and saplings from chest
dig_sign 1
move 1
turn_right
take_item 99 0
take_item 99 0
-- Goto trunk
turn_left
dig_front 0 0
move 1
-- Climb up
repeat 10
dig_above 0
move_up
place_below 1
end
-- Climb down
repeat 10
dig_below 1
move_down
end
-- Pickup saplings
repeat 4
pickup_items 2
turn_left
end
-- Return dirt and saplings to chest
backward
plant_sapling 2
turn_right
add_item 99 1
add_item 99 2
-- Finish
turn_left
backward
place_sign 1
turn_around]]
local HELP = table.concat({
S("Used to harvest an aspen or pine tree trunk"),
S("- Place the sign in front of the tree."),
S("- Place a chest to the right of the sign."),
S("- Put a dirt stack (10 items min.) into the chest."),
S("- Preconfigure slot 1 of the bot inventory with dirt"),
S("- Preconfigure slot 2 of the bot inventory with saplings"),
}, "\n")
signs_bot.register_signXL({
name = "aspen",
description = S('Sign "aspen"'),
help_text = HELP,
commands = CMNDS,
image = "signs_bot_sign_aspen.png",
})
minetest.register_craft({
output = "signs_bot:aspen 2",
recipe = {
{"group:wood", "default:stick", "group:wood"},
{"dye:black", "default:stick", "dye:yellow"},
{"dye:grey", "default:aspen_sapling", ""}
}
})
if minetest.get_modpath("doc") then
doc.add_entry("signs_bot", "aspen", {
name = S("Sign 'aspen'"),
data = {
item = "signs_bot:aspen",
text = HELP .. "\n",
},
})
end