Added the Breaker buff for hoes

master
Alexand(er|ra) Yst 2021-01-14 22:17:53 -08:00
parent 567e9b0411
commit c8e10131d1
3 changed files with 40 additions and 18 deletions

View File

@ -126,33 +126,33 @@ return {
sand = "soulbound",
coal_lump = "soulbound",
iron_lump = "soulbound",
sapling = "spreader",
sapling = "breaker",
mese_crystal = "durable",
copper_lump = "soulbound",
diamond = "durable",
gold_lump = "soulbound",
junglesapling = "spreader",
seed_cotton = "spreader",
seed_wheat = "spreader",
junglesapling = "breaker",
seed_cotton = "soulbound",
seed_wheat = "soulbound",
string = "soulbound",
wheat = "soulbound",
cotton = "soulbound",
pine_sapling = "spreader",
acacia_sapling = "spreader",
mushroom_brown = "soulbound",
mushroom_red = "soulbound",
pine_sapling = "breaker",
acacia_sapling = "breaker",
mushroom_brown = "spreader",
mushroom_red = "spreader",
mushroom_spores_brown = "spreader",
mushroom_spores_red = "spreader",
aspen_sapling = "spreader",
aspen_sapling = "breaker",
flint = "soulbound",
coral_skeleton = "soulbound",
acacia_bush_sapling = "spreader",
bush_sapling = "spreader",
acacia_bush_sapling = "breaker",
bush_sapling = "breaker",
tin_lump = "soulbound",
blueberries = "soulbound",
blueberry_bush_sapling = "spreader",
blueberry_bush_sapling = "soulbound",
ice = "soulbound",
pine_bush_sapling = "spreader",
pine_bush_sapling = "breaker",
dry_dirt = "soulbound",
},
screwdriver = {

View File

@ -60,6 +60,7 @@ local buff_name = {
cobbleeater = S("Cobble Eater"),
soulbound = S("Soulbound"),
adjuster = S("Kelp Adjuster"),
breaker = S("Breaker"),
}
local rune_element_modname = {

View File

@ -290,13 +290,34 @@ minetest.override_item("runes:hoe", {
wield_overlay = "farming_tool_stonehoe.png",
on_place = function(itemstack, user, pointed_thing)
local target = minetest.get_node(pointed_thing.under)
if target.name == "default:dirt" and itemstack:get_meta():get("spreader") then
spread_function(pointed_thing.under, target)
itemstack:add_wear(math.floor(65536/810))
return itemstack
elseif minetest.registered_nodes[target.name]
if minetest.registered_nodes[target.name]
and minetest.registered_nodes[target.name].on_rightclick then
return minetest.registered_nodes[target.name].on_rightclick(pointed_thing.under, target, user, itemstack, pointed_thing)
elseif not minetest.is_protected(pos, user:get_player_name()) then
local wear_to_add
local meta = itemstack:get_meta()
if meta:get("durable") then
wear_to_add = math.floor(65536/540)
else
wear_to_add = math.floor(65536/810)
end
if target.name == "default:dirt" and meta:get("spreader") then
spread_function(pointed_thing.under, target)
itemstack:add_wear(wear_to_add)
return itemstack
elseif target.name == "default:stone" and meta:get("breaker") then
minetest.set_node({
name = "default:cobble",
})
itemstack:add_wear(wear_to_add)
return itemstack
elseif target.name == "default:desert_stone" and meta:get("breaker") then
minetest.set_node({
name = "default:desert_cobble",
})
itemstack:add_wear(wear_to_add)
return itemstack
end
end
end,
})