a47cbab714
Upgraded tools ignored previous wear. This would allow the tool's life to be extended further than normal. FIXED. XD
570 lines
14 KiB
Lua
570 lines
14 KiB
Lua
minetest.register_craftitem("skylands:cavorite_handle", {
|
|
description = "Cavorite Tool Handle",
|
|
inventory_image = "skylands_cavorite_handle.png",
|
|
})
|
|
|
|
--
|
|
-- Picks
|
|
--
|
|
|
|
minetest.register_tool("skylands:cavorite_pick_wood", {
|
|
description = "Cavorite-Enhanced Wooden Pickaxe",
|
|
inventory_image = "skylands_cavorite_tool_woodpick.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.8,
|
|
max_drop_level=0,
|
|
groupcaps={
|
|
cracky = {times={[3]=1.10}, uses=8, maxlevel=1},
|
|
},
|
|
damage_groups = {fleshy=2},
|
|
},
|
|
})
|
|
minetest.register_tool("skylands:cavorite_pick_stone", {
|
|
description = "Cavorite-Enhanced Stone Pickaxe",
|
|
inventory_image = "skylands_cavorite_tool_stonepick.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.87,
|
|
max_drop_level=0,
|
|
groupcaps={
|
|
cracky = {times={[2]=1.33, [3]=0.8}, uses=15, maxlevel=1},
|
|
},
|
|
damage_groups = {fleshy=3},
|
|
},
|
|
})
|
|
minetest.register_tool("skylands:cavorite_pick_steel", {
|
|
description = "Cavorite-Enhanced Steel Pickaxe",
|
|
inventory_image = "skylands_cavorite_tool_steelpick.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.67,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
cracky = {times={[1]=2.67, [2]=1.07, [3]=0.53}, uses=15, maxlevel=2},
|
|
},
|
|
damage_groups = {fleshy=4},
|
|
},
|
|
})
|
|
minetest.register_tool("skylands:cavorite_pick_bronze", {
|
|
description = "Cavorite-Enhanced Bronze Pickaxe",
|
|
inventory_image = "skylands_cavorite_tool_bronzepick.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.67,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
cracky = {times={[1]=2.67, [2]=1.07, [3]=0.53}, uses=23, maxlevel=2},
|
|
},
|
|
damage_groups = {fleshy=4},
|
|
},
|
|
})
|
|
minetest.register_tool("skylands:cavorite_pick_mese", {
|
|
description = "Cavorite-Enhanced Mese Pickaxe",
|
|
inventory_image = "skylands_cavorite_tool_mesepick.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.6,
|
|
max_drop_level=3,
|
|
groupcaps={
|
|
cracky = {times={[1]=1.6, [2]=0.8, [3]=0.40}, uses=15, maxlevel=3},
|
|
},
|
|
damage_groups = {fleshy=5},
|
|
},
|
|
})
|
|
minetest.register_tool("skylands:cavorite_pick_diamond", {
|
|
description = "Cavorite-Enhanced Diamond Pickaxe",
|
|
inventory_image = "skylands_cavorite_tool_diamondpick.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.6,
|
|
max_drop_level=3,
|
|
groupcaps={
|
|
cracky = {times={[1]=1.33, [2]=0.67, [3]=0.33}, uses=23, maxlevel=3},
|
|
},
|
|
damage_groups = {fleshy=5},
|
|
},
|
|
})
|
|
|
|
--
|
|
-- Shovels
|
|
--
|
|
|
|
minetest.register_tool("skylands:cavorite_shovel_wood", {
|
|
description = "Cavorite-Enhanced Wooden Shovel",
|
|
inventory_image = "skylands_cavorite_tool_woodshovel.png",
|
|
wield_image = "skylands_cavorite_tool_woodshovel.png^[transformR90",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.8,
|
|
max_drop_level=0,
|
|
groupcaps={
|
|
crumbly = {times={[1]=2.00, [2]=1.07, [3]=0.40}, uses=7, maxlevel=1},
|
|
},
|
|
damage_groups = {fleshy=2},
|
|
},
|
|
})
|
|
minetest.register_tool("skylands:cavorite_shovel_stone", {
|
|
description = "Cavorite-Enhanced Stone Shovel",
|
|
inventory_image = "skylands_cavorite_tool_stoneshovel.png",
|
|
wield_image = "skylands_cavorite_tool_stoneshovel.png^[transformR90",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.93,
|
|
max_drop_level=0,
|
|
groupcaps={
|
|
crumbly = {times={[1]=1.20, [2]=0.80, [3]=0.33}, uses=15, maxlevel=1},
|
|
},
|
|
damage_groups = {fleshy=2},
|
|
},
|
|
})
|
|
minetest.register_tool("skylands:cavorite_shovel_steel", {
|
|
description = "Cavorite-Enhanced Steel Shovel",
|
|
inventory_image = "skylands_cavorite_tool_steelshovel.png",
|
|
wield_image = "skylands_cavorite_tool_steelshovel.png^[transformR90",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.73,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
crumbly = {times={[1]=1.00, [2]=0.60, [3]=0.27}, uses=22, maxlevel=2},
|
|
},
|
|
damage_groups = {fleshy=3},
|
|
},
|
|
})
|
|
minetest.register_tool("skylands:cavorite_shovel_bronze", {
|
|
description = "Cavorite-Enhanced Bronze Shovel",
|
|
inventory_image = "skylands_cavorite_tool_bronzeshovel.png",
|
|
wield_image = "skylands_cavorite_tool_bronzeshovel.png^[transformR90",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.73,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
crumbly = {times={[1]=1.00, [2]=0.60, [3]=0.27}, uses=30, maxlevel=2},
|
|
},
|
|
damage_groups = {fleshy=3},
|
|
},
|
|
})
|
|
minetest.register_tool("skylands:cavorite_shovel_mese", {
|
|
description = "Cavorite-Enhanced Mese Shovel",
|
|
inventory_image = "skylands_cavorite_tool_meseshovel.png",
|
|
wield_image = "skylands_cavorite_tool_meseshovel.png^[transformR90",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.67,
|
|
max_drop_level=3,
|
|
groupcaps={
|
|
crumbly = {times={[1]=0.80, [2]=0.40, [3]=0.20}, uses=15, maxlevel=3},
|
|
},
|
|
damage_groups = {fleshy=4},
|
|
},
|
|
})
|
|
minetest.register_tool("skylands:cavorite_shovel_diamond", {
|
|
description = "Cavorite-Enhanced Diamond Shovel",
|
|
inventory_image = "skylands_cavorite_tool_diamondshovel.png",
|
|
wield_image = "skylands_cavorite_tool_diamondshovel.png^[transformR90",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.67,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
crumbly = {times={[1]=0.73, [2]=0.33, [3]=0.20}, uses=23, maxlevel=3},
|
|
},
|
|
damage_groups = {fleshy=4},
|
|
},
|
|
})
|
|
|
|
--
|
|
-- Axes
|
|
--
|
|
|
|
minetest.register_tool("skylands:cavorite_axe_wood", {
|
|
description = "Cavorite-Enhanced Wooden Axe",
|
|
inventory_image = "skylands_cavorite_tool_woodaxe.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.67,
|
|
max_drop_level=0,
|
|
groupcaps={
|
|
choppy = {times={[2]=2.00, [3]=1.33}, uses=7, maxlevel=1},
|
|
},
|
|
damage_groups = {fleshy=2},
|
|
},
|
|
})
|
|
minetest.register_tool("skylands:cavorite_axe_stone", {
|
|
description = "Cavorite-Enhanced Stone Axe",
|
|
inventory_image = "skylands_cavorite_tool_stoneaxe.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.8,
|
|
max_drop_level=0,
|
|
groupcaps={
|
|
choppy={times={[1]=2.00, [2]=1.33, [3]=1.00}, uses=15, maxlevel=1},
|
|
},
|
|
damage_groups = {fleshy=3},
|
|
},
|
|
})
|
|
minetest.register_tool("skylands:cavorite_axe_steel", {
|
|
description = "Cavorite-Enhanced Steel Axe",
|
|
inventory_image = "skylands_cavorite_tool_steelaxe.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.67,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
choppy={times={[1]=1.67, [2]=0.93, [3]=0.67}, uses=15, maxlevel=2},
|
|
},
|
|
damage_groups = {fleshy=4},
|
|
},
|
|
})
|
|
minetest.register_tool("skylands:cavorite_axe_bronze", {
|
|
description = "Cavorite-Enhanced Bronze Axe",
|
|
inventory_image = "skylands_cavorite_tool_bronzeaxe.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.67,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
choppy={times={[1]=1.67, [2]=0.93, [3]=0.67}, uses=15, maxlevel=2},
|
|
},
|
|
damage_groups = {fleshy=4},
|
|
},
|
|
})
|
|
minetest.register_tool("skylands:cavorite_axe_mese", {
|
|
description = "Cavorite-Enhanced Mese Axe",
|
|
inventory_image = "skylands_cavorite_tool_meseaxe.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.6,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
choppy={times={[1]=1.47, [2]=0.67, [3]=0.40}, uses=15, maxlevel=3},
|
|
},
|
|
damage_groups = {fleshy=6},
|
|
},
|
|
})
|
|
minetest.register_tool("skylands:cavorite_axe_diamond", {
|
|
description = "Cavorite-Enhanced Diamond Axe",
|
|
inventory_image = "skylands_cavorite_tool_diamondaxe.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.6,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
choppy={times={[1]=1.40, [2]=0.60, [3]=0.33}, uses=20, maxlevel=2},
|
|
},
|
|
damage_groups = {fleshy=7},
|
|
},
|
|
})
|
|
|
|
--
|
|
-- Swords
|
|
--
|
|
|
|
minetest.register_tool("skylands:cavorite_sword_wood", {
|
|
description = "Cavorite-Enhanced Wooden Sword",
|
|
inventory_image = "skylands_cavorite_tool_woodsword.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.67,
|
|
max_drop_level=0,
|
|
groupcaps={
|
|
snappy={times={[2]=1.07, [3]=0.27}, uses=7, maxlevel=1},
|
|
},
|
|
damage_groups = {fleshy=2},
|
|
}
|
|
})
|
|
minetest.register_tool("skylands:cavorite_sword_stone", {
|
|
description = "Cavorite-Enhanced Stone Sword",
|
|
inventory_image = "skylands_cavorite_tool_stonesword.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.8,
|
|
max_drop_level=0,
|
|
groupcaps={
|
|
snappy={times={[2]=0.93, [3]=0.27}, uses=15, maxlevel=1},
|
|
},
|
|
damage_groups = {fleshy=4},
|
|
}
|
|
})
|
|
minetest.register_tool("skylands:cavorite_sword_steel", {
|
|
description = "Cavorite-Enhanced Steel Sword",
|
|
inventory_image = "skylands_cavorite_tool_steelsword.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.53,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
snappy={times={[1]=1.67, [2]=0.8, [3]=0.23}, uses=15, maxlevel=2},
|
|
},
|
|
damage_groups = {fleshy=6},
|
|
}
|
|
})
|
|
minetest.register_tool("skylands:cavorite_sword_bronze", {
|
|
description = "Cavorite-Enhanced Bronze Sword",
|
|
inventory_image = "skylands_cavorite_tool_bronzesword.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.53,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
snappy={times={[1]=1.67, [2]=0.8, [3]=0.23}, uses=30, maxlevel=2},
|
|
},
|
|
damage_groups = {fleshy=6},
|
|
}
|
|
})
|
|
minetest.register_tool("skylands:cavorite_sword_mese", {
|
|
description = "Cavorite-Enhanced Mese Sword",
|
|
inventory_image = "skylands_cavorite_tool_mesesword.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.47,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
snappy={times={[1]=1.33, [2]=0.67, [3]=0.23}, uses=20, maxlevel=3},
|
|
},
|
|
damage_groups = {fleshy=7},
|
|
}
|
|
})
|
|
minetest.register_tool("skylands:cavorite_sword_diamond", {
|
|
description = "Cavorite-Enhanced Diamond Sword",
|
|
inventory_image = "skylands_cavorite_tool_diamondsword.png",
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.47,
|
|
max_drop_level=1,
|
|
groupcaps={
|
|
snappy={times={[1]=1.27, [2]=0.60, [3]=0.20}, uses=30, maxlevel=3},
|
|
},
|
|
damage_groups = {fleshy=8},
|
|
}
|
|
})
|
|
|
|
---
|
|
--- Crafting
|
|
---
|
|
|
|
--cavorite handle, base of all tool upgrades
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_handle",
|
|
recipe = {
|
|
{"skylands:cavorite"},
|
|
{"skylands:cavorite"},
|
|
}
|
|
})
|
|
|
|
--tool upgrade recipes
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_pick_wood",
|
|
recipe = {
|
|
{"default:pick_wood"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_pick_stone",
|
|
recipe = {
|
|
{"default:pick_stone"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_pick_steel",
|
|
recipe = {
|
|
{"default:pick_steel"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_pick_bronze",
|
|
recipe = {
|
|
{"default:pick_bronze"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_pick_mese",
|
|
recipe = {
|
|
{"default:pick_mese"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_pick_diamond",
|
|
recipe = {
|
|
{"default:pick_diamond"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_shovel_wood",
|
|
recipe = {
|
|
{"default:shovel_wood"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_shovel_stone",
|
|
recipe = {
|
|
{"default:shovel_stone"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_shovel_steel",
|
|
recipe = {
|
|
{"default:shovel_steel"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_shovel_bronze",
|
|
recipe = {
|
|
{"default:shovel_bronze"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_shovel_mese",
|
|
recipe = {
|
|
{"default:shovel_mese"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_shovel_diamond",
|
|
recipe = {
|
|
{"default:shovel_diamond"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_axe_wood",
|
|
recipe = {
|
|
{"default:axe_wood"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_axe_stone",
|
|
recipe = {
|
|
{"default:axe_stone"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_axe_steel",
|
|
recipe = {
|
|
{"default:axe_steel"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_axe_bronze",
|
|
recipe = {
|
|
{"default:axe_bronze"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_axe_mese",
|
|
recipe = {
|
|
{"default:axe_mese"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_axe_diamond",
|
|
recipe = {
|
|
{"default:axe_diamond"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_sword_wood",
|
|
recipe = {
|
|
{"default:sword_wood"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_sword_stone",
|
|
recipe = {
|
|
{"default:sword_stone"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_sword_steel",
|
|
recipe = {
|
|
{"default:sword_steel"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_sword_bronze",
|
|
recipe = {
|
|
{"default:sword_bronze"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_sword_mese",
|
|
recipe = {
|
|
{"default:sword_mese"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "skylands:cavorite_sword_diamond",
|
|
recipe = {
|
|
{"default:sword_diamond"},
|
|
{"skylands:cavorite_handle"},
|
|
{"skylands:cavorite_handle"},
|
|
}
|
|
})
|
|
|
|
--check to add wear to crafts when previous tool was worn
|
|
minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv)
|
|
if string.find(itemstack:get_name(), "cavorite") then --either cavorite_handle or a cavorite tool
|
|
local wear = 0 --store wear
|
|
local old_tool = false --store old tool used
|
|
--loop through old crafting grid to find old tool
|
|
for i = 1, 9 do
|
|
slot = old_craft_grid[i]
|
|
if string.find(slot:get_name(), "default") then
|
|
old_tool = slot --this is the tool, since it's name contains "default"
|
|
end
|
|
end
|
|
if old_tool:get_wear() == 0 then --tool has no wear, so give one with no wear
|
|
return
|
|
else
|
|
--tool has wear, so apply it to the new one.
|
|
wear = old_tool:get_wear()
|
|
return {name=itemstack:get_name(), count=1, wear=wear, metadata=""}
|
|
end
|
|
end
|
|
end) |