From 55a52d224cfa0f10dab8be340e16c143a13bf95d Mon Sep 17 00:00:00 2001 From: wsor Date: Wed, 4 Nov 2020 19:24:08 -0500 Subject: [PATCH 1/6] add luacheck --- .luacheckrc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .luacheckrc diff --git a/.luacheckrc b/.luacheckrc new file mode 100644 index 0000000..7225aa9 --- /dev/null +++ b/.luacheckrc @@ -0,0 +1,23 @@ + +unused_args = false +allow_defined_top = true +exclude_files = {".luacheckrc"} + +globals = { + "minetest", +} + +read_globals = { + string = {fields = {"split"}}, + table = {fields = {"copy", "getn"}}, + + -- Builtin + "vector", "ItemStack", + "dump", "DIR_DELIM", "VoxelArea", "Settings", + + -- MTG + "default", "sfinv", "creative", + + --depends + --none in this case/yet +} \ No newline at end of file From 7f0b080d19daab5d6b24058b218a025475bb83fc Mon Sep 17 00:00:00 2001 From: wsor Date: Wed, 4 Nov 2020 19:28:13 -0500 Subject: [PATCH 2/6] added github workflow for luacheck --- .github/workflows/build.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..37e2d77 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,17 @@ +name: build + +on: [push, pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + - name: apt + run: sudo apt-get install -y luarocks + - name: luacheck install + run: luarocks install --local luacheck + - name: luacheck run + run: $HOME/.luarocks/bin/luacheck ./ \ No newline at end of file From c7512f47a7f21c0071a7964be046f462e4a4ec15 Mon Sep 17 00:00:00 2001 From: wsor Date: Wed, 4 Nov 2020 19:34:39 -0500 Subject: [PATCH 3/6] hide stripped from inv --- init.lua | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/init.lua b/init.lua index 0f748ed..b3d752c 100644 --- a/init.lua +++ b/init.lua @@ -3,9 +3,8 @@ local trunk_names = { "tree", "jungletree", "aspen_tree", "acacia_tree","pine_tree", } --- Register all trees +-- Register all stripped trees for _, name in ipairs(trunk_names) do - minetest.register_node(":default:stripped_"..name, { description = "Stripped "..name, tiles = { @@ -13,12 +12,11 @@ for _, name in ipairs(trunk_names) do "stripped_"..name.."_top.png", "stripped_"..name..".png" }, - groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2, not_in_creative_inventory = 1}, sounds = default.node_sound_wood_defaults(), paramtype2 = "facedir", on_place = minetest.rotate_node, }) - end --Register tool @@ -58,7 +56,6 @@ minetest.register_tool("chisel_tree:chisel", { }) --Register craft - minetest.register_craft({ output = "chisel_tree:chisel", recipe = { From b38d2e0e3e1e6fdd9a875f100ebe1117fd12cc07 Mon Sep 17 00:00:00 2001 From: wsor Date: Wed, 4 Nov 2020 19:55:15 -0500 Subject: [PATCH 4/6] fix failure to respect old param2 --- init.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/init.lua b/init.lua index b3d752c..e1c36e0 100644 --- a/init.lua +++ b/init.lua @@ -46,7 +46,8 @@ minetest.register_tool("chisel_tree:chisel", { local tree = "default:"..n if tree==node then - minetest.swap_node(pos, {name = "default:stripped_"..n}) + local old_node = minetest.get_node(pos) + minetest.swap_node(pos, {name = "default:stripped_"..n, param2 = old_node.param2}) itemstack:add_wear(65535 / 299) -- 300 uses return itemstack end From 060c943076e88efa16d60dd921b3ccdce4e16dee Mon Sep 17 00:00:00 2001 From: wsor Date: Wed, 4 Nov 2020 20:02:30 -0500 Subject: [PATCH 5/6] update readme --- README.md | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5b8cdc1..3e4177e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,21 @@ -# chisel_tree +# Minetest Chisel_Tree Mod + Adds stripped tree trunks to minetest. + +## Links + +* [Github](https://github.com/minefaco/chisel_tree) +* [Contentdb](not avaible yet) +* [forums](https://forum.minetest.net/viewtopic.php?p=383571#p383571) + +## License + +__Code__ + +by minefacto GPLv3.0 +contributed to by wsor4035 + +__Assets__ + +> "are the textures GPL-3.0 as well?" +> "no, but it's free to use and share." \ No newline at end of file From 9fdcb7439a2699fee1048057d501a8f9795c93cb Mon Sep 17 00:00:00 2001 From: wsor Date: Wed, 4 Nov 2020 20:42:43 -0500 Subject: [PATCH 6/6] remove mods tool, add ability for default axes to strip trees --- init.lua | 78 +++++++++++++++++++++++++++----------------------------- 1 file changed, 37 insertions(+), 41 deletions(-) diff --git a/init.lua b/init.lua index e1c36e0..51e5f57 100644 --- a/init.lua +++ b/init.lua @@ -1,11 +1,11 @@ --Register nodes local trunk_names = { - "tree", "jungletree", "aspen_tree", "acacia_tree","pine_tree", + "tree", "jungletree", "aspen_tree", "acacia_tree", "pine_tree", } -- Register all stripped trees for _, name in ipairs(trunk_names) do - minetest.register_node(":default:stripped_"..name, { + minetest.register_node(":default:stripped_" .. name, { description = "Stripped "..name, tiles = { "stripped_"..name.."_top.png", @@ -19,51 +19,47 @@ for _, name in ipairs(trunk_names) do }) end ---Register tool -minetest.register_tool("chisel_tree:chisel", { - description = "A chisel for wood", - inventory_image = "chisel.png", - wield_image = "chisel.png", - sound = {breaks = "default_tool_breaks"}, - stack_max = 1, - on_use = function(itemstack, user, pointed_thing) +--list of axes to override +local axe_types = { + "wood", "stone", "bronze", "steel", "mese", "diamond", +} - if pointed_thing.type ~= "node" then - return - end +for _, axe_name in ipairs(axe_types) do - local pos = pointed_thing.under - local pname = user:get_player_name() + minetest.override_item("default:axe_" .. axe_name, { + on_place = function(itemstack, user, pointed_thing) - if minetest.is_protected(pos, pname) then - minetest.record_protection_violation(pos, pname) - return - end - - local node = minetest.get_node(pos).name - - for _, n in ipairs(trunk_names) do - - local tree = "default:"..n - if tree==node then - local old_node = minetest.get_node(pos) - minetest.swap_node(pos, {name = "default:stripped_"..n, param2 = old_node.param2}) - itemstack:add_wear(65535 / 299) -- 300 uses - return itemstack + if pointed_thing.type ~= "node" then + return end - end - end, -}) + local pos = pointed_thing.under + local pname = user:get_player_name() ---Register craft -minetest.register_craft({ - output = "chisel_tree:chisel", - recipe = { - {"", "default:steel_ingot", ""}, - {"", "group:fence", ""}, - } -}) + if minetest.is_protected(pos, pname) then + minetest.record_protection_violation(pos, pname) + return + end + + local node = minetest.get_node(pos).name + + for _, n in ipairs(trunk_names) do + + local tree = "default:"..n + if tree==node then + local old_node = minetest.get_node(pos) + minetest.swap_node(pos, {name = "default:stripped_"..n, param2 = old_node.param2}) + itemstack:add_wear(65535 / 299) -- 300 uses + return itemstack + end + end + + end, + }) +end + +--register alias to support old tool +minetest.register_alias("chisel_tree:chisel", "default:axe_steel")