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 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 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 diff --git a/init.lua b/init.lua index 0f748ed..51e5f57 100644 --- a/init.lua +++ b/init.lua @@ -1,71 +1,65 @@ --Register nodes local trunk_names = { - "tree", "jungletree", "aspen_tree", "acacia_tree","pine_tree", + "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, { + minetest.register_node(":default:stripped_" .. name, { description = "Stripped "..name, tiles = { "stripped_"..name.."_top.png", "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 -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 - minetest.swap_node(pos, {name = "default:stripped_"..n}) - 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 + if minetest.is_protected(pos, pname) then + minetest.record_protection_violation(pos, pname) + return + end -minetest.register_craft({ - output = "chisel_tree:chisel", - recipe = { - {"", "default:steel_ingot", ""}, - {"", "group:fence", ""}, - } -}) + 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")