123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- -- Renew mod for Minetest
- -- Copyright © 2020 Alex Yst <https://y.st./>
- -- This program is free software; you can redistribute it and/or
- -- modify it under the terms of the GNU Lesser General Public
- -- License as published by the Free Software Foundation; either
- -- version 2.1 of the License, or (at your option) any later version.
- -- This software is distributed in the hope that it will be useful,
- -- but WITHOUT ANY WARRANTY; without even the implied warranty of
- -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- -- Lesser General Public License for more details.
- -- You should have received a copy of the GNU Lesser General Public
- -- License along with this program. If not, see
- -- <https://www.gnu.org./licenses/>.
- -- Tools
- minetest.register_tool("renew:sledgehammer_wood", {
- description = "Wooden Sledgehammer",
- inventory_image = "renew-sledgehammer_wood.png",
- tool_capabilities = {
- full_punch_interval = 1.2,
- max_drop_level=0,
- groupcaps={
- pulverizeable = {times={[3]=1.60}, uses=10, maxlevel=1},
- },
- damage_groups = {fleshy=2},
- },
- groups = {flammable = 2},
- sound = {breaks = "default_tool_breaks"},
- })
- minetest.register_tool("renew:sledgehammer_stone", {
- description = "Stone Sledgehammer",
- inventory_image = "renew-sledgehammer_stone.png",
- tool_capabilities = {
- full_punch_interval = 1.3,
- max_drop_level=0,
- groupcaps={
- pulverizeable = {times={[2]=2.0, [3]=1.00}, uses=20, maxlevel=1},
- },
- damage_groups = {fleshy=3},
- },
- sound = {breaks = "default_tool_breaks"},
- })
- minetest.register_tool("renew:sledgehammer_steel", {
- description = "Steel Sledgehammer",
- inventory_image = "renew-sledgehammer_steel.png",
- tool_capabilities = {
- full_punch_interval = 1.0,
- max_drop_level=1,
- groupcaps={
- pulverizeable = {times={[1]=4.00, [2]=1.60, [3]=0.80}, uses=20, maxlevel=2},
- },
- damage_groups = {fleshy=4},
- },
- sound = {breaks = "default_tool_breaks"},
- })
- minetest.register_tool("renew:sledgehammer_bronze", {
- description = "Bronze Sledgehammer",
- inventory_image = "renew-sledgehammer_bronze.png",
- tool_capabilities = {
- full_punch_interval = 1.0,
- max_drop_level=1,
- groupcaps={
- pulverizeable = {times={[1]=4.00, [2]=1.60, [3]=0.80}, uses=30, maxlevel=2},
- },
- damage_groups = {fleshy=4},
- },
- sound = {breaks = "default_tool_breaks"},
- })
- minetest.register_tool("renew:sledgehammer_mese", {
- description = "Mese Sledgehammer",
- inventory_image = "renew-sledgehammer_mese.png",
- tool_capabilities = {
- full_punch_interval = 0.9,
- max_drop_level=3,
- groupcaps={
- pulverizeable = {times={[1]=2.4, [2]=1.2, [3]=0.60}, uses=20, maxlevel=3},
- },
- damage_groups = {fleshy=5},
- },
- sound = {breaks = "default_tool_breaks"},
- })
- minetest.register_tool("renew:sledgehammer_diamond", {
- description = "Diamond Sledgehammer",
- inventory_image = "renew-sledgehammer_diamond.png",
- tool_capabilities = {
- full_punch_interval = 0.9,
- max_drop_level=3,
- groupcaps={
- pulverizeable = {times={[1]=2.0, [2]=1.0, [3]=0.50}, uses=30, maxlevel=3},
- },
- damage_groups = {fleshy=5},
- },
- sound = {breaks = "default_tool_breaks"},
- })
- -- Recipes
- minetest.register_craft({
- output = "renew:sledgehammer_wood",
- recipe = {
- {"group:wood", "group:stick", "group:wood"},
- {"" , "group:stick", "" },
- {"" , "group:stick", "" },
- }
- })
- minetest.register_craft({
- output = "renew:sledgehammer_stone",
- recipe = {
- {"group:stone", "group:stick", "group:stone"},
- {"" , "group:stick", "" },
- {"" , "group:stick", "" },
- }
- })
- minetest.register_craft({
- output = "renew:sledgehammer_steel",
- recipe = {
- {"default:steel_ingot", "group:stick", "default:steel_ingot"},
- {"" , "group:stick", "" },
- {"" , "group:stick", "" },
- }
- })
- minetest.register_craft({
- output = "renew:sledgehammer_bronze",
- recipe = {
- {"default:bronze_ingot", "group:stick", "default:bronze_ingot"},
- {"" , "group:stick", "" },
- {"" , "group:stick", "" },
- }
- })
- minetest.register_craft({
- output = "renew:sledgehammer_mese",
- recipe = {
- {"default:mese_crystal", "group:stick", "default:mese_crystal"},
- {"" , "group:stick", "" },
- {"" , "group:stick", "" },
- }
- })
- minetest.register_craft({
- output = "renew:sledgehammer_diamond",
- recipe = {
- {"default:diamond", "group:stick", "default:diamond"},
- {"" , "group:stick", "" },
- {"" , "group:stick", "" },
- }
- })
- -- Node modifications
- minetest.registered_nodes["default:cobble"].groups.pulverizeable = minetest.registered_nodes["default:cobble"].groups.cracky
- minetest.override_item("default:cobble", {
- on_dig = function(pos, node, digger)
- if not minetest.is_protected(pos, digger:get_player_name())
- and string.sub(digger:get_wielded_item():get_name(), 1, 19) == "renew:sledgehammer_" then
- minetest.set_node(pos, {name="default:sandstone"})
- local tool = digger:get_wielded_item()
- local groups = minetest.registered_nodes["default:cobble"].groups
- tool:add_wear(minetest.get_dig_params(groups, tool:get_tool_capabilities()).wear)
- digger:set_wielded_item(tool)
- else
- minetest.node_dig(pos, node, digger)
- end
- end,
- })
- minetest.registered_nodes["default:stone"].groups.pulverizeable = minetest.registered_nodes["default:stone"].groups.cracky
- minetest.override_item("default:stone", {
- on_dig = function(pos, node, digger)
- if not minetest.is_protected(pos, digger:get_player_name())
- and string.sub(digger:get_wielded_item():get_name(), 1, 19) == "renew:sledgehammer_" then
- minetest.set_node(pos, {name="default:gravel"})
- local tool = digger:get_wielded_item()
- local groups = minetest.registered_nodes["default:stone"].groups
- tool:add_wear(minetest.get_dig_params(groups, tool:get_tool_capabilities()).wear)
- digger:set_wielded_item(tool)
- else
- minetest.node_dig(pos, node, digger)
- end
- end,
- })
- minetest.registered_nodes["default:desert_cobble"].groups.pulverizeable = minetest.registered_nodes["default:desert_cobble"].groups.cracky
- minetest.override_item("default:desert_cobble", {
- on_dig = function(pos, node, digger)
- if not minetest.is_protected(pos, digger:get_player_name())
- and string.sub(digger:get_wielded_item():get_name(), 1, 19) == "renew:sledgehammer_" then
- minetest.set_node(pos, {name="default:desert_sand"})
- local tool = digger:get_wielded_item()
- local groups = minetest.registered_nodes["default:desert_cobble"].groups
- tool:add_wear(minetest.get_dig_params(groups, tool:get_tool_capabilities()).wear)
- digger:set_wielded_item(tool)
- else
- minetest.node_dig(pos, node, digger)
- end
- end,
- })
- minetest.registered_nodes["default:coral_skeleton"].groups.pulverizeable = minetest.registered_nodes["default:coral_skeleton"].groups.cracky
- minetest.override_item("default:coral_skeleton", {
- on_dig = function(pos, node, digger)
- if not minetest.is_protected(pos, digger:get_player_name())
- and string.sub(digger:get_wielded_item():get_name(), 1, 19) == "renew:sledgehammer_" then
- minetest.set_node(pos, {name="default:silver_sand"})
- local tool = digger:get_wielded_item()
- local groups = minetest.registered_nodes["default:coral_skeleton"].groups
- tool:add_wear(minetest.get_dig_params(groups, tool:get_tool_capabilities()).wear)
- digger:set_wielded_item(tool)
- else
- minetest.node_dig(pos, node, digger)
- end
- end,
- })
|