2021-05-29 17:12:33 +03:00
local modname = minetest.get_current_modname ( )
local modpath = minetest.get_modpath ( modname )
local S = minetest.get_translator ( modname )
2019-03-08 02:46:35 +03:00
2015-06-29 20:55:56 +03:00
-- mods/default/tools.lua
--
-- Tool definition
--
2021-03-15 23:55:59 +03:00
--[[
2020-02-17 18:17:35 +03:00
dig_speed_class group :
- 1 : Painfully slow
- 2 : Very slow
- 3 : Slow
- 4 : Fast
- 5 : Very fast
- 6 : Extremely fast
- 7 : Instantaneous
] ]
2017-02-25 18:19:24 +03:00
2015-06-29 20:55:56 +03:00
-- The hand
2020-02-17 18:17:35 +03:00
local groupcaps , hand_range , hand_groups
2021-03-17 19:50:52 +03:00
2020-07-10 17:08:40 +03:00
if minetest.is_creative_enabled ( " " ) then
2017-02-28 02:14:31 +03:00
-- Instant breaking in creative mode
2021-03-17 19:50:52 +03:00
groupcaps = { creative_breakable = { times = { 0 } , uses = 0 } }
2021-03-11 16:49:09 +03:00
hand_range = 10
hand_groups = { dig_speed_class = 7 }
2017-01-17 03:36:45 +03:00
else
2021-03-11 16:49:09 +03:00
groupcaps = { }
2017-12-08 16:00:44 +03:00
hand_range = 4
2020-02-17 18:17:35 +03:00
hand_groups = { dig_speed_class = 1 }
2017-01-17 03:36:45 +03:00
end
2021-03-11 16:49:09 +03:00
minetest.register_tool ( " : " , {
2015-06-29 20:55:56 +03:00
type = " none " ,
2019-03-16 02:07:44 +03:00
_doc_items_longdesc = S ( " You use your bare hand whenever you are not wielding any item. With your hand you can mine most blocks, but this is the slowest method and only the weakest blocks will yield their useful drop. The hand also deals minor damage by punching. Using the hand is often a last resort, as proper mining tools and weapons are much better. " ) .. " \n " ..
S ( " When you are wielding an item which is not a mining tool or a weapon, it will behave as if it were the hand when you start mining or punching. " ) .. " \n " ..
S ( " In Creative Mode, the hand is able to break all blocks instantly. " ) ,
2021-02-24 14:58:30 +03:00
wield_image = " blank.png " ,
2017-05-30 17:20:48 +03:00
wield_scale = { x = 1.0 , y = 1.0 , z = 2.0 } ,
2017-03-01 23:13:51 +03:00
-- According to Minecraft Wiki, the exact range is 3.975.
-- Minetest seems to only support whole numbers, so we use 4.
2017-12-08 16:00:44 +03:00
range = hand_range ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-17 02:37:15 +03:00
full_punch_interval = 0.25 ,
2015-06-29 20:55:56 +03:00
max_drop_level = 0 ,
2017-01-17 03:36:45 +03:00
groupcaps = groupcaps ,
2015-06-29 20:55:56 +03:00
damage_groups = { fleshy = 1 } ,
2020-02-17 18:17:35 +03:00
} ,
groups = hand_groups ,
2021-03-17 19:50:52 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
handy = { speed = 1 , level = 1 , uses = 0 } ,
axey = { speed = 1 , level = 1 , uses = 0 } ,
shovely = { speed = 1 , level = 1 , uses = 0 } ,
2021-04-12 16:19:36 +03:00
hoey = { speed = 1 , level = 1 , uses = 0 } ,
2021-03-20 21:25:47 +03:00
pickaxey = { speed = 1 , level = 0 , uses = 0 } ,
swordy = { speed = 1 , level = 0 , uses = 0 } ,
swordy_cobweb = { speed = 1 , level = 0 , uses = 0 } ,
shearsy = { speed = 1 , level = 0 , uses = 0 } ,
shearsy_wool = { speed = 1 , level = 0 , uses = 0 } ,
shearsy_cobweb = { speed = 1 , level = 0 , uses = 0 } ,
2021-03-17 19:50:52 +03:00
}
2015-06-29 20:55:56 +03:00
} )
2017-03-12 03:55:18 +03:00
-- Help texts
2019-03-08 02:46:35 +03:00
local pickaxe_longdesc = S ( " Pickaxes are mining tools to mine hard blocks, such as stone. A pickaxe can also be used as weapon, but it is rather inefficient. " )
local axe_longdesc = S ( " An axe is your tool of choice to cut down trees, wood-based blocks and other blocks. Axes deal a lot of damage as well, but they are rather slow. " )
local sword_longdesc = S ( " Swords are great in melee combat, as they are fast, deal high damage and can endure countless battles. Swords can also be used to cut down a few particular blocks, such as cobwebs. " )
local shovel_longdesc = S ( " Shovels are tools for digging coarse blocks, such as dirt, sand and gravel. They can also be used to turn grass blocks to grass paths. Shovels can be used as weapons, but they are very weak. " )
local shovel_use = S ( " To turn a grass block into a grass path, hold the shovel in your hand, then use (rightclick) the top or side of a grass block. This only works when there's air above the grass block. " )
2019-03-16 02:07:44 +03:00
local shears_longdesc = S ( " Shears are tools to shear sheep and to mine a few block types. Shears are a special mining tool and can be used to obtain the original item from grass, leaves and similar blocks that require cutting. " )
2019-03-25 14:05:57 +03:00
local shears_use = S ( " To shear sheep or carve faceless pumpkins, use the “place” key on them. Faces can only be carved at the side of faceless pumpkins. Mining works as usual, but the drops are different for a few blocks. " )
2017-03-12 03:55:18 +03:00
2021-04-05 11:16:56 +03:00
local wield_scale = mcl_vars.tool_wield_scale
2020-04-08 05:07:16 +03:00
2015-06-29 20:55:56 +03:00
-- Picks
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:pick_wood " , {
2019-03-08 02:46:35 +03:00
description = S ( " Wooden Pickaxe " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = pickaxe_longdesc ,
2017-03-20 18:38:16 +03:00
_doc_items_hidden = false ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_woodpick.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { tool = 1 , pickaxe = 1 , dig_speed_class = 2 , enchantability = 15 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-17 02:37:15 +03:00
-- 1/1.2
full_punch_interval = 0.83333333 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 1 ,
2015-06-29 20:55:56 +03:00
damage_groups = { fleshy = 2 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 30 ,
2015-06-29 20:55:56 +03:00
} ,
2017-02-19 21:59:18 +03:00
sound = { breaks = " default_tool_breaks " } ,
2018-02-02 04:33:10 +03:00
_repair_material = " group:wood " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
pickaxey = { speed = 2 , level = 1 , uses = 60 }
2021-03-11 16:49:09 +03:00
} ,
2015-06-29 20:55:56 +03:00
} )
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:pick_stone " , {
2019-03-08 02:46:35 +03:00
description = S ( " Stone Pickaxe " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = pickaxe_longdesc ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_stonepick.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { tool = 1 , pickaxe = 1 , dig_speed_class = 3 , enchantability = 5 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-17 02:37:15 +03:00
-- 1/1.2
full_punch_interval = 0.83333333 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 3 ,
2015-06-29 20:55:56 +03:00
damage_groups = { fleshy = 3 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 66 ,
2015-06-29 20:55:56 +03:00
} ,
2017-02-19 21:59:18 +03:00
sound = { breaks = " default_tool_breaks " } ,
2022-05-04 17:08:42 +03:00
_repair_material = " group:cobble " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
pickaxey = { speed = 4 , level = 3 , uses = 132 }
2021-03-11 16:49:09 +03:00
} ,
2015-06-29 20:55:56 +03:00
} )
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:pick_iron " , {
2019-03-08 02:46:35 +03:00
description = S ( " Iron Pickaxe " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = pickaxe_longdesc ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_steelpick.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { tool = 1 , pickaxe = 1 , dig_speed_class = 4 , enchantability = 14 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-17 02:37:15 +03:00
-- 1/1.2
full_punch_interval = 0.83333333 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 4 ,
2015-06-29 20:55:56 +03:00
damage_groups = { fleshy = 4 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 126 ,
2015-06-29 20:55:56 +03:00
} ,
2017-02-19 21:59:18 +03:00
sound = { breaks = " default_tool_breaks " } ,
2018-02-02 04:33:10 +03:00
_repair_material = " mcl_core:iron_ingot " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
pickaxey = { speed = 6 , level = 4 , uses = 251 }
2021-03-11 16:49:09 +03:00
} ,
2015-06-29 20:55:56 +03:00
} )
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:pick_gold " , {
2019-03-08 02:46:35 +03:00
description = S ( " Golden Pickaxe " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = pickaxe_longdesc ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_goldpick.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { tool = 1 , pickaxe = 1 , dig_speed_class = 6 , enchantability = 22 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-17 02:37:15 +03:00
-- 1/1.2
full_punch_interval = 0.83333333 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 2 ,
2017-01-17 02:37:15 +03:00
damage_groups = { fleshy = 2 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 17 ,
2015-06-29 20:55:56 +03:00
} ,
2017-02-19 21:59:18 +03:00
sound = { breaks = " default_tool_breaks " } ,
2018-02-02 04:33:10 +03:00
_repair_material = " mcl_core:gold_ingot " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
pickaxey = { speed = 12 , level = 2 , uses = 33 }
2021-03-11 16:49:09 +03:00
} ,
2015-06-29 20:55:56 +03:00
} )
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:pick_diamond " , {
2019-03-08 02:46:35 +03:00
description = S ( " Diamond Pickaxe " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = pickaxe_longdesc ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_diamondpick.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { tool = 1 , pickaxe = 1 , dig_speed_class = 5 , enchantability = 10 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-17 02:37:15 +03:00
-- 1/1.2
full_punch_interval = 0.83333333 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 5 ,
2015-06-29 20:55:56 +03:00
damage_groups = { fleshy = 5 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 781 ,
2015-06-29 20:55:56 +03:00
} ,
2017-02-19 21:59:18 +03:00
sound = { breaks = " default_tool_breaks " } ,
2018-02-02 04:33:10 +03:00
_repair_material = " mcl_core:diamond " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
pickaxey = { speed = 8 , level = 5 , uses = 1562 }
2021-03-11 16:49:09 +03:00
} ,
2021-04-16 17:00:14 +03:00
_mcl_upgradable = true ,
_mcl_upgrade_item = " mcl_tools:pick_netherite "
2015-06-29 20:55:56 +03:00
} )
2021-04-14 16:07:25 +03:00
minetest.register_tool ( " mcl_tools:pick_netherite " , {
description = S ( " Netherite Pickaxe " ) ,
_doc_items_longdesc = pickaxe_longdesc ,
inventory_image = " default_tool_netheritepick.png " ,
wield_scale = wield_scale ,
2022-07-22 16:06:35 +03:00
groups = { tool = 1 , pickaxe = 1 , dig_speed_class = 6 , enchantability = 10 , fire_immune = 1 } ,
2021-04-14 16:07:25 +03:00
tool_capabilities = {
-- 1/1.2
full_punch_interval = 0.83333333 ,
max_drop_level = 5 ,
damage_groups = { fleshy = 6 } ,
punch_attack_uses = 1016 ,
} ,
sound = { breaks = " default_tool_breaks " } ,
_repair_material = " mcl_nether:netherite_ingot " ,
_mcl_toollike_wield = true ,
_mcl_diggroups = {
2021-04-15 19:07:19 +03:00
pickaxey = { speed = 9.5 , level = 6 , uses = 2031 }
2021-04-14 16:07:25 +03:00
} ,
} )
local make_grass_path = function ( itemstack , placer , pointed_thing )
2017-03-02 18:09:13 +03:00
-- Use pointed node's on_rightclick function first, if present
local node = minetest.get_node ( pointed_thing.under )
if placer and not placer : get_player_control ( ) . sneak then
if minetest.registered_nodes [ node.name ] and minetest.registered_nodes [ node.name ] . on_rightclick then
return minetest.registered_nodes [ node.name ] . on_rightclick ( pointed_thing.under , node , placer , itemstack ) or itemstack
end
end
2017-07-08 19:11:27 +03:00
-- Only make grass path if tool used on side or top of target node
if pointed_thing.above . y < pointed_thing.under . y then
2019-03-27 15:07:33 +03:00
return itemstack
2017-07-08 19:11:27 +03:00
end
2019-03-27 15:07:33 +03:00
2021-09-08 15:34:58 +03:00
if ( minetest.get_item_group ( node.name , " path_creation_possible " ) == 1 ) then
2017-02-06 21:25:15 +03:00
local above = table.copy ( pointed_thing.under )
above.y = above.y + 1
if minetest.get_node ( above ) . name == " air " then
2019-03-27 15:07:33 +03:00
if minetest.is_protected ( pointed_thing.under , placer : get_player_name ( ) ) then
minetest.record_protection_violation ( pointed_thing.under , placer : get_player_name ( ) )
return itemstack
end
2020-07-10 17:08:40 +03:00
if not minetest.is_creative_enabled ( placer : get_player_name ( ) ) then
2021-03-18 13:35:29 +03:00
-- Add wear (as if digging a shovely node)
2017-02-27 20:53:17 +03:00
local toolname = itemstack : get_name ( )
2021-03-18 13:35:29 +03:00
local wear = mcl_autogroup.get_wear ( toolname , " shovely " )
2017-02-06 21:25:15 +03:00
itemstack : add_wear ( wear )
end
2020-04-07 01:55:45 +03:00
minetest.sound_play ( { name = " default_grass_footstep " , gain = 1 } , { pos = above } , true )
2017-03-02 19:57:18 +03:00
minetest.swap_node ( pointed_thing.under , { name = " mcl_core:grass_path " } )
2017-02-06 21:25:15 +03:00
end
end
return itemstack
end
2017-11-23 02:20:49 +03:00
local carve_pumpkin
if minetest.get_modpath ( " mcl_farming " ) then
2021-05-29 17:12:33 +03:00
function carve_pumpkin ( itemstack , placer , pointed_thing )
2017-11-23 02:20:49 +03:00
-- Use pointed node's on_rightclick function first, if present
local node = minetest.get_node ( pointed_thing.under )
if placer and not placer : get_player_control ( ) . sneak then
if minetest.registered_nodes [ node.name ] and minetest.registered_nodes [ node.name ] . on_rightclick then
return minetest.registered_nodes [ node.name ] . on_rightclick ( pointed_thing.under , node , placer , itemstack ) or itemstack
end
end
-- Only carve pumpkin if used on side
if pointed_thing.above . y ~= pointed_thing.under . y then
return
end
if node.name == " mcl_farming:pumpkin " then
2020-07-10 17:08:40 +03:00
if not minetest.is_creative_enabled ( placer : get_player_name ( ) ) then
2017-11-23 02:20:49 +03:00
-- Add wear (as if digging a shearsy node)
local toolname = itemstack : get_name ( )
2021-03-18 13:35:29 +03:00
local wear = mcl_autogroup.get_wear ( toolname , " shearsy " )
2017-11-23 02:20:49 +03:00
itemstack : add_wear ( wear )
end
2021-04-16 14:35:03 +03:00
minetest.sound_play ( { name = " default_grass_footstep " , gain = 1 } , { pos = pointed_thing.above } , true )
2017-11-23 02:20:49 +03:00
local dir = vector.subtract ( pointed_thing.under , pointed_thing.above )
local param2 = minetest.dir_to_facedir ( dir )
2022-04-14 19:52:31 +03:00
minetest.set_node ( pointed_thing.under , { name = " mcl_farming:pumpkin_face " , param2 = param2 } )
2017-11-23 02:20:49 +03:00
minetest.add_item ( pointed_thing.above , " mcl_farming:pumpkin_seeds 4 " )
end
return itemstack
end
end
2015-06-29 20:55:56 +03:00
-- Shovels
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:shovel_wood " , {
2019-03-08 02:46:35 +03:00
description = S ( " Wooden Shovel " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = shovel_longdesc ,
_doc_items_usagehelp = shovel_use ,
2017-03-20 18:38:16 +03:00
_doc_items_hidden = false ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_woodshovel.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { tool = 1 , shovel = 1 , dig_speed_class = 2 , enchantability = 15 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-17 02:37:15 +03:00
full_punch_interval = 1 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 1 ,
2015-06-29 20:55:56 +03:00
damage_groups = { fleshy = 2 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 30 ,
2015-06-29 20:55:56 +03:00
} ,
2017-02-06 21:25:15 +03:00
on_place = make_grass_path ,
2017-02-19 21:59:18 +03:00
sound = { breaks = " default_tool_breaks " } ,
2018-02-02 04:33:10 +03:00
_repair_material = " group:wood " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2022-08-07 12:55:01 +03:00
shovely = { speed = 2 , level = 2 , uses = 60 }
2021-03-11 16:49:09 +03:00
} ,
2015-06-29 20:55:56 +03:00
} )
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:shovel_stone " , {
2019-03-08 02:46:35 +03:00
description = S ( " Stone Shovel " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = shovel_longdesc ,
_doc_items_usagehelp = shovel_use ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_stoneshovel.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { tool = 1 , shovel = 1 , dig_speed_class = 3 , enchantability = 5 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-17 02:37:15 +03:00
full_punch_interval = 1 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 3 ,
2017-01-17 02:37:15 +03:00
damage_groups = { fleshy = 3 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 66 ,
2015-06-29 20:55:56 +03:00
} ,
2017-02-06 21:25:15 +03:00
on_place = make_grass_path ,
2017-02-19 21:59:18 +03:00
sound = { breaks = " default_tool_breaks " } ,
2022-05-04 17:08:42 +03:00
_repair_material = " group:cobble " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
shovely = { speed = 4 , level = 3 , uses = 132 }
2021-03-11 16:49:09 +03:00
} ,
2015-06-29 20:55:56 +03:00
} )
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:shovel_iron " , {
2019-03-08 02:46:35 +03:00
description = S ( " Iron Shovel " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = shovel_longdesc ,
_doc_items_usagehelp = shovel_use ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_steelshovel.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { tool = 1 , shovel = 1 , dig_speed_class = 4 , enchantability = 14 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-17 02:37:15 +03:00
full_punch_interval = 1 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 4 ,
2017-01-17 02:37:15 +03:00
damage_groups = { fleshy = 4 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 126 ,
2015-06-29 20:55:56 +03:00
} ,
2017-02-06 21:25:15 +03:00
on_place = make_grass_path ,
2017-02-19 21:59:18 +03:00
sound = { breaks = " default_tool_breaks " } ,
2018-02-02 04:33:10 +03:00
_repair_material = " mcl_core:iron_ingot " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
shovely = { speed = 6 , level = 4 , uses = 251 }
2021-03-11 16:49:09 +03:00
} ,
2015-06-29 20:55:56 +03:00
} )
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:shovel_gold " , {
2019-03-08 02:46:35 +03:00
description = S ( " Golden Shovel " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = shovel_longdesc ,
_doc_items_usagehelp = shovel_use ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_goldshovel.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2021-01-02 14:11:16 +03:00
groups = { tool = 1 , shovel = 1 , dig_speed_class = 6 , enchantability = 22 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-17 02:37:15 +03:00
full_punch_interval = 1 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 2 ,
2015-06-29 20:55:56 +03:00
damage_groups = { fleshy = 2 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 17 ,
2015-06-29 20:55:56 +03:00
} ,
2017-02-06 21:25:15 +03:00
on_place = make_grass_path ,
2017-02-19 21:59:18 +03:00
sound = { breaks = " default_tool_breaks " } ,
2018-02-02 04:33:10 +03:00
_repair_material = " mcl_core:gold_ingot " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
shovely = { speed = 12 , level = 2 , uses = 33 }
2021-03-11 16:49:09 +03:00
} ,
2015-06-29 20:55:56 +03:00
} )
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:shovel_diamond " , {
2019-03-08 02:46:35 +03:00
description = S ( " Diamond Shovel " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = shovel_longdesc ,
_doc_items_usagehelp = shovel_use ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_diamondshovel.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { tool = 1 , shovel = 1 , dig_speed_class = 5 , enchantability = 10 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-17 02:37:15 +03:00
full_punch_interval = 1 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 5 ,
2017-01-17 02:37:15 +03:00
damage_groups = { fleshy = 5 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 781 ,
2015-06-29 20:55:56 +03:00
} ,
2017-02-06 21:25:15 +03:00
on_place = make_grass_path ,
2017-02-19 21:59:18 +03:00
sound = { breaks = " default_tool_breaks " } ,
2018-02-02 04:33:10 +03:00
_repair_material = " mcl_core:diamond " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
shovely = { speed = 8 , level = 5 , uses = 1562 }
2021-03-11 16:49:09 +03:00
} ,
2021-04-16 17:00:14 +03:00
_mcl_upgradable = true ,
_mcl_upgrade_item = " mcl_tools:shovel_netherite "
2015-06-29 20:55:56 +03:00
} )
2021-04-14 16:07:25 +03:00
minetest.register_tool ( " mcl_tools:shovel_netherite " , {
description = S ( " Netherite Shovel " ) ,
_doc_items_longdesc = shovel_longdesc ,
_doc_items_usagehelp = shovel_use ,
inventory_image = " default_tool_netheriteshovel.png " ,
wield_scale = wield_scale ,
2022-07-22 16:06:35 +03:00
groups = { tool = 1 , shovel = 1 , dig_speed_class = 6 , enchantability = 10 , fire_immune = 1 } ,
2021-04-14 16:07:25 +03:00
tool_capabilities = {
full_punch_interval = 1 ,
max_drop_level = 5 ,
damage_groups = { fleshy = 5 } ,
punch_attack_uses = 1016 ,
} ,
on_place = make_grass_path ,
sound = { breaks = " default_tool_breaks " } ,
_repair_material = " mcl_nether:netherite_ingot " ,
_mcl_toollike_wield = true ,
_mcl_diggroups = {
2021-04-15 19:07:19 +03:00
shovely = { speed = 9 , level = 6 , uses = 2031 }
2021-04-14 16:07:25 +03:00
} ,
} )
2015-06-29 20:55:56 +03:00
-- Axes
2021-05-29 17:12:33 +03:00
local function make_stripped_trunk ( itemstack , placer , pointed_thing )
2021-04-18 21:28:39 +03:00
if pointed_thing.type ~= " node " then return end
local node = minetest.get_node ( pointed_thing.under )
local noddef = minetest.registered_nodes [ minetest.get_node ( pointed_thing.under ) . name ]
if not placer : get_player_control ( ) . sneak and noddef.on_rightclick then
return minetest.item_place ( itemstack , placer , pointed_thing )
end
if minetest.is_protected ( pointed_thing.under , placer : get_player_name ( ) ) then
minetest.record_protection_violation ( pointed_thing.under , placer : get_player_name ( ) )
return itemstack
end
2021-06-15 20:34:45 +03:00
if noddef._mcl_stripped_variant == nil then
2021-04-19 19:53:48 +03:00
return itemstack
else
2021-06-15 20:34:45 +03:00
minetest.swap_node ( pointed_thing.under , { name = noddef._mcl_stripped_variant , param2 = node.param2 } )
2021-04-19 19:53:48 +03:00
if not minetest.is_creative_enabled ( placer : get_player_name ( ) ) then
-- Add wear (as if digging a axey node)
local toolname = itemstack : get_name ( )
local wear = mcl_autogroup.get_wear ( toolname , " axey " )
itemstack : add_wear ( wear )
end
end
2021-04-18 21:28:39 +03:00
return itemstack
2021-04-12 16:28:28 +03:00
end
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:axe_wood " , {
2019-03-08 02:46:35 +03:00
description = S ( " Wooden Axe " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = axe_longdesc ,
2017-03-20 18:38:16 +03:00
_doc_items_hidden = false ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_woodaxe.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { tool = 1 , axe = 1 , dig_speed_class = 2 , enchantability = 15 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-17 02:37:15 +03:00
full_punch_interval = 1.25 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 1 ,
2017-01-17 02:37:15 +03:00
damage_groups = { fleshy = 7 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 30 ,
2015-06-29 20:55:56 +03:00
} ,
2021-04-12 16:28:28 +03:00
on_place = make_stripped_trunk ,
2017-02-19 21:59:18 +03:00
sound = { breaks = " default_tool_breaks " } ,
2018-02-02 04:33:10 +03:00
_repair_material = " group:wood " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
axey = { speed = 2 , level = 1 , uses = 60 }
2021-03-11 16:49:09 +03:00
} ,
2015-06-29 20:55:56 +03:00
} )
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:axe_stone " , {
2019-03-08 02:46:35 +03:00
description = S ( " Stone Axe " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = axe_longdesc ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_stoneaxe.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { tool = 1 , axe = 1 , dig_speed_class = 3 , enchantability = 5 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-17 02:37:15 +03:00
full_punch_interval = 1.25 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 3 ,
2017-01-17 02:37:15 +03:00
damage_groups = { fleshy = 9 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 66 ,
2015-06-29 20:55:56 +03:00
} ,
2021-04-12 16:28:28 +03:00
on_place = make_stripped_trunk ,
2017-02-19 21:59:18 +03:00
sound = { breaks = " default_tool_breaks " } ,
2022-05-04 17:08:42 +03:00
_repair_material = " group:cobble " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
axey = { speed = 4 , level = 3 , uses = 132 }
2021-03-11 16:49:09 +03:00
} ,
2015-06-29 20:55:56 +03:00
} )
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:axe_iron " , {
2019-03-08 02:46:35 +03:00
description = S ( " Iron Axe " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = axe_longdesc ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_steelaxe.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { tool = 1 , axe = 1 , dig_speed_class = 4 , enchantability = 14 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-17 02:37:15 +03:00
-- 1/0.9
full_punch_interval = 1.11111111 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 4 ,
2017-01-17 02:37:15 +03:00
damage_groups = { fleshy = 9 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 126 ,
2015-06-29 20:55:56 +03:00
} ,
2021-04-12 16:28:28 +03:00
on_place = make_stripped_trunk ,
2017-02-19 21:59:18 +03:00
sound = { breaks = " default_tool_breaks " } ,
2018-02-02 04:33:10 +03:00
_repair_material = " mcl_core:iron_ingot " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
axey = { speed = 6 , level = 4 , uses = 251 }
2021-03-11 16:49:09 +03:00
} ,
2015-06-29 20:55:56 +03:00
} )
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:axe_gold " , {
2019-03-08 02:46:35 +03:00
description = S ( " Golden Axe " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = axe_longdesc ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_goldaxe.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { tool = 1 , axe = 1 , dig_speed_class = 6 , enchantability = 22 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-17 02:37:15 +03:00
full_punch_interval = 1.0 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 2 ,
2017-01-17 02:37:15 +03:00
damage_groups = { fleshy = 7 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 17 ,
2015-06-29 20:55:56 +03:00
} ,
2021-04-12 16:28:28 +03:00
on_place = make_stripped_trunk ,
2017-02-19 21:59:18 +03:00
sound = { breaks = " default_tool_breaks " } ,
2018-02-02 04:33:10 +03:00
_repair_material = " mcl_core:gold_ingot " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
axey = { speed = 12 , level = 2 , uses = 33 }
2021-03-11 16:49:09 +03:00
} ,
2015-06-29 20:55:56 +03:00
} )
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:axe_diamond " , {
2019-03-08 02:46:35 +03:00
description = S ( " Diamond Axe " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = axe_longdesc ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_diamondaxe.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { tool = 1 , axe = 1 , dig_speed_class = 5 , enchantability = 10 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-17 02:37:15 +03:00
full_punch_interval = 1.0 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 5 ,
2017-01-17 02:37:15 +03:00
damage_groups = { fleshy = 9 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 781 ,
2015-06-29 20:55:56 +03:00
} ,
2021-04-12 16:28:28 +03:00
on_place = make_stripped_trunk ,
2017-02-19 21:59:18 +03:00
sound = { breaks = " default_tool_breaks " } ,
2018-02-02 04:33:10 +03:00
_repair_material = " mcl_core:diamond " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
axey = { speed = 8 , level = 5 , uses = 1562 }
2021-03-11 16:49:09 +03:00
} ,
2021-04-16 17:00:14 +03:00
_mcl_upgradable = true ,
_mcl_upgrade_item = " mcl_tools:axe_netherite "
2015-06-29 20:55:56 +03:00
} )
2021-04-14 16:07:25 +03:00
minetest.register_tool ( " mcl_tools:axe_netherite " , {
description = S ( " Netherite Axe " ) ,
_doc_items_longdesc = axe_longdesc ,
inventory_image = " default_tool_netheriteaxe.png " ,
wield_scale = wield_scale ,
2022-07-22 16:06:35 +03:00
groups = { tool = 1 , axe = 1 , dig_speed_class = 6 , enchantability = 10 , fire_immune = 1 } ,
2021-04-14 16:07:25 +03:00
tool_capabilities = {
full_punch_interval = 1.0 ,
max_drop_level = 5 ,
damage_groups = { fleshy = 10 } ,
punch_attack_uses = 1016 ,
} ,
on_place = make_stripped_trunk ,
sound = { breaks = " default_tool_breaks " } ,
_repair_material = " mcl_nether:netherite_ingot " ,
_mcl_toollike_wield = true ,
_mcl_diggroups = {
2021-04-15 19:07:19 +03:00
axey = { speed = 9 , level = 6 , uses = 2031 }
2021-04-14 16:07:25 +03:00
} ,
} )
2015-06-29 20:55:56 +03:00
-- Swords
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:sword_wood " , {
2019-03-08 02:46:35 +03:00
description = S ( " Wooden Sword " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = sword_longdesc ,
2017-03-20 18:38:16 +03:00
_doc_items_hidden = false ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_woodsword.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { weapon = 1 , sword = 1 , dig_speed_class = 2 , enchantability = 15 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-04 14:03:04 +03:00
full_punch_interval = 0.625 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 1 ,
2017-01-04 14:03:04 +03:00
damage_groups = { fleshy = 4 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 60 ,
2017-02-19 21:59:18 +03:00
} ,
sound = { breaks = " default_tool_breaks " } ,
2018-02-02 04:33:10 +03:00
_repair_material = " group:wood " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
swordy = { speed = 2 , level = 1 , uses = 60 } ,
swordy_cobweb = { speed = 2 , level = 1 , uses = 60 }
2021-03-11 16:49:09 +03:00
} ,
2015-06-29 20:55:56 +03:00
} )
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:sword_stone " , {
2019-03-08 02:46:35 +03:00
description = S ( " Stone Sword " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = sword_longdesc ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_stonesword.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { weapon = 1 , sword = 1 , dig_speed_class = 3 , enchantability = 5 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-04 14:03:04 +03:00
full_punch_interval = 0.625 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 3 ,
2017-01-04 14:03:04 +03:00
damage_groups = { fleshy = 5 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 132 ,
2017-02-19 21:59:18 +03:00
} ,
sound = { breaks = " default_tool_breaks " } ,
2022-05-04 17:08:42 +03:00
_repair_material = " group:cobble " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
swordy = { speed = 4 , level = 3 , uses = 132 } ,
swordy_cobweb = { speed = 4 , level = 3 , uses = 132 }
2021-03-11 16:49:09 +03:00
} ,
2015-06-29 20:55:56 +03:00
} )
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:sword_iron " , {
2019-03-08 02:46:35 +03:00
description = S ( " Iron Sword " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = sword_longdesc ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_steelsword.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { weapon = 1 , sword = 1 , dig_speed_class = 4 , enchantability = 14 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-04 14:03:04 +03:00
full_punch_interval = 0.625 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 4 ,
2015-06-29 20:55:56 +03:00
damage_groups = { fleshy = 6 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 251 ,
2017-02-19 21:59:18 +03:00
} ,
sound = { breaks = " default_tool_breaks " } ,
2018-02-02 04:33:10 +03:00
_repair_material = " mcl_core:iron_ingot " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
swordy = { speed = 6 , level = 4 , uses = 251 } ,
swordy_cobweb = { speed = 6 , level = 4 , uses = 251 }
2021-03-11 16:49:09 +03:00
} ,
2015-06-29 20:55:56 +03:00
} )
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:sword_gold " , {
2019-03-08 02:46:35 +03:00
description = S ( " Golden Sword " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = sword_longdesc ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_goldsword.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { weapon = 1 , sword = 1 , dig_speed_class = 6 , enchantability = 22 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-04 14:03:04 +03:00
full_punch_interval = 0.625 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 2 ,
2017-01-17 02:37:15 +03:00
damage_groups = { fleshy = 4 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 33 ,
2017-02-19 21:59:18 +03:00
} ,
sound = { breaks = " default_tool_breaks " } ,
2018-02-02 04:33:10 +03:00
_repair_material = " mcl_core:gold_ingot " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
swordy = { speed = 12 , level = 2 , uses = 33 } ,
swordy_cobweb = { speed = 12 , level = 2 , uses = 33 }
2021-03-11 16:49:09 +03:00
} ,
2015-06-29 20:55:56 +03:00
} )
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:sword_diamond " , {
2019-03-08 02:46:35 +03:00
description = S ( " Diamond Sword " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = sword_longdesc ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_diamondsword.png " ,
2020-04-08 05:07:16 +03:00
wield_scale = wield_scale ,
2020-11-25 14:47:27 +03:00
groups = { weapon = 1 , sword = 1 , dig_speed_class = 5 , enchantability = 10 } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
2017-01-04 14:03:04 +03:00
full_punch_interval = 0.625 ,
2017-02-24 19:01:56 +03:00
max_drop_level = 5 ,
2017-01-04 14:03:04 +03:00
damage_groups = { fleshy = 7 } ,
2020-02-19 17:53:51 +03:00
punch_attack_uses = 1562 ,
2017-02-19 21:59:18 +03:00
} ,
sound = { breaks = " default_tool_breaks " } ,
2018-02-02 04:33:10 +03:00
_repair_material = " mcl_core:diamond " ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
swordy = { speed = 8 , level = 5 , uses = 1562 } ,
swordy_cobweb = { speed = 8 , level = 5 , uses = 1562 }
2021-03-11 16:49:09 +03:00
} ,
2021-04-16 17:00:14 +03:00
_mcl_upgradable = true ,
_mcl_upgrade_item = " mcl_tools:sword_netherite "
2015-06-29 20:55:56 +03:00
} )
2021-04-14 16:07:25 +03:00
minetest.register_tool ( " mcl_tools:sword_netherite " , {
description = S ( " Netherite Sword " ) ,
_doc_items_longdesc = sword_longdesc ,
inventory_image = " default_tool_netheritesword.png " ,
wield_scale = wield_scale ,
2022-07-22 16:06:35 +03:00
groups = { weapon = 1 , sword = 1 , dig_speed_class = 5 , enchantability = 10 , fire_immune = 1 } ,
2021-04-14 16:07:25 +03:00
tool_capabilities = {
full_punch_interval = 0.625 ,
max_drop_level = 5 ,
damage_groups = { fleshy = 9 } ,
2021-04-14 16:12:44 +03:00
punch_attack_uses = 2031 ,
2021-04-14 16:07:25 +03:00
} ,
sound = { breaks = " default_tool_breaks " } ,
_repair_material = " mcl_nether:netherite_ingot " ,
_mcl_toollike_wield = true ,
_mcl_diggroups = {
2021-04-14 16:12:44 +03:00
swordy = { speed = 8 , level = 5 , uses = 2031 } ,
swordy_cobweb = { speed = 8 , level = 5 , uses = 2031 }
2021-04-14 16:07:25 +03:00
} ,
} )
2015-06-29 20:55:56 +03:00
--Shears
2017-02-26 20:44:48 +03:00
minetest.register_tool ( " mcl_tools:shears " , {
2019-03-08 02:46:35 +03:00
description = S ( " Shears " ) ,
2017-03-12 03:55:18 +03:00
_doc_items_longdesc = shears_longdesc ,
_doc_items_usagehelp = shears_use ,
2015-06-29 20:55:56 +03:00
inventory_image = " default_tool_shears.png " ,
wield_image = " default_tool_shears.png " ,
stack_max = 1 ,
2020-12-19 18:29:55 +03:00
groups = { tool = 1 , shears = 1 , dig_speed_class = 4 , } ,
2015-06-29 20:55:56 +03:00
tool_capabilities = {
full_punch_interval = 0.5 ,
max_drop_level = 1 ,
2017-02-19 21:59:18 +03:00
} ,
2017-11-23 02:20:49 +03:00
on_place = carve_pumpkin ,
2017-02-19 21:59:18 +03:00
sound = { breaks = " default_tool_breaks " } ,
2021-02-18 11:28:12 +03:00
_mcl_toollike_wield = true ,
2021-03-16 22:36:38 +03:00
_mcl_diggroups = {
2021-03-20 21:25:47 +03:00
shearsy = { speed = 1.5 , level = 1 , uses = 238 } ,
shearsy_wool = { speed = 5 , level = 1 , uses = 238 } ,
shearsy_cobweb = { speed = 15 , level = 1 , uses = 238 }
2021-03-11 16:49:09 +03:00
} ,
2017-01-04 07:29:55 +03:00
} )
2017-01-04 13:26:35 +03:00
2017-01-17 01:11:04 +03:00
2021-05-29 17:12:33 +03:00
dofile ( modpath .. " /crafting.lua " )
dofile ( modpath .. " /aliases.lua " )