Compare commits

..

3 Commits

2 changed files with 19 additions and 10 deletions

View File

@ -226,7 +226,7 @@ if mcl_weather.allow_abm then
} }
for a=1, #around do for a=1, #around do
local apos = vector.add(pos, around[a]) local apos = vector.add(pos, around[a])
if mcl_weather.is_outdoor(apos) and mcl_weather.has_rain(apos) then if mcl_weather.is_outdoor(apos) then
minetest.remove_node(pos) minetest.remove_node(pos)
minetest.sound_play("fire_extinguish_flame", {pos = pos, max_hear_distance = 8, gain = 0.1}, true) minetest.sound_play("fire_extinguish_flame", {pos = pos, max_hear_distance = 8, gain = 0.1}, true)
return return
@ -244,7 +244,7 @@ if mcl_weather.allow_abm then
chance = 1, chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider) action = function(pos, node, active_object_count, active_object_count_wider)
-- Rain is equivalent to a water bottle -- Rain is equivalent to a water bottle
if mcl_weather.rain.raining and mcl_weather.is_outdoor(pos) and mcl_weather.has_rain(pos) then if mcl_weather.rain.raining and mcl_weather.is_outdoor(pos) then
if node.name == "mcl_cauldrons:cauldron" then if node.name == "mcl_cauldrons:cauldron" then
minetest.set_node(pos, {name="mcl_cauldrons:cauldron_1"}) minetest.set_node(pos, {name="mcl_cauldrons:cauldron_1"})
elseif node.name == "mcl_cauldrons:cauldron_1" then elseif node.name == "mcl_cauldrons:cauldron_1" then
@ -267,7 +267,7 @@ if mcl_weather.allow_abm then
interval = 22.0, interval = 22.0,
chance = 3, chance = 3,
action = function(pos, node, active_object_count, active_object_count_wider) action = function(pos, node, active_object_count, active_object_count_wider)
if mcl_weather.rain.raining and mcl_weather.is_outdoor(pos) and mcl_weather.has_rain(pos) then if mcl_weather.rain.raining and mcl_weather.is_outdoor(pos) then
if node.name == "mcl_farming:soil" then if node.name == "mcl_farming:soil" then
minetest.set_node(pos, {name="mcl_farming:soil_wet"}) minetest.set_node(pos, {name="mcl_farming:soil_wet"})
end end

View File

@ -48,16 +48,25 @@ local dig_hive = function(pos, node, oldmetadata, digger)
local beenest = string.find(node.name, "mcl_beehives:bee_nest") local beenest = string.find(node.name, "mcl_beehives:bee_nest")
local silk_touch = mcl_enchanting.has_enchantment(wield_item, "silk_touch") local silk_touch = mcl_enchanting.has_enchantment(wield_item, "silk_touch")
local is_creative = minetest.is_creative_enabled(digger:get_player_name()) local is_creative = minetest.is_creative_enabled(digger:get_player_name())
local inv = digger:get_inventory()
if beehive then if beehive then
minetest.add_item(pos, "mcl_beehives:beehive") if not is_creative then
if not silk_touch and not is_creative then mcl_util.deal_damage(digger, 10) end minetest.add_item(pos, "mcl_beehives:beehive")
if not silk_touch then mcl_util.deal_damage(digger, 10) end
elseif is_creative and inv:room_for_item("main", "mcl_beehives:beehive") and not inv:contains_item("main", "mcl_beehives:beehive") then
inv:add_item("main", "mcl_beehives:beehive")
end
elseif beenest then elseif beenest then
if silk_touch or is_creative then if not is_creative then
minetest.add_item(pos, "mcl_beehives:bee_nest") if silk_touch then
awards.unlock(digger:get_player_name(), "mcl:total_beelocation") minetest.add_item(pos, "mcl_beehives:bee_nest")
else awards.unlock(digger:get_player_name(), "mcl:total_beelocation")
mcl_util.deal_damage(digger, 10) else
mcl_util.deal_damage(digger, 10)
end
elseif is_creative and inv:room_for_item("main", "mcl_beehives:bee_nest") and not inv:contains_item("main", "mcl_beehives:bee_nest") then
inv:add_item("main", "mcl_beehives:bee_nest")
end end
end end
end end