forked from VoxeLibre/VoxeLibre
Fix crash when growing kelp into water logged mangrove roots
This commit is contained in:
parent
11168f226a
commit
15fa3ff775
|
@ -221,7 +221,7 @@ local wlroots = {
|
||||||
liquids_pointable = true,
|
liquids_pointable = true,
|
||||||
drop = "mcl_mangrove:mangrove_roots",
|
drop = "mcl_mangrove:mangrove_roots",
|
||||||
groups = {
|
groups = {
|
||||||
handy = 1, hoey = 1, water=3, liquid=3, puts_out_fire=1, dig_by_piston = 1, deco_block = 1, not_in_creative_inventory=1 },
|
handy = 1, hoey = 1, water=4, liquid=3, puts_out_fire=1, dig_by_piston = 1, deco_block = 1, not_in_creative_inventory=1 },
|
||||||
_mcl_blast_resistance = 100,
|
_mcl_blast_resistance = 100,
|
||||||
_mcl_hardness = -1, -- Hardness intentionally set to infinite instead of 100 (Minecraft value) to avoid problems in creative mode
|
_mcl_hardness = -1, -- Hardness intentionally set to infinite instead of 100 (Minecraft value) to avoid problems in creative mode
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
|
|
|
@ -81,7 +81,8 @@ end
|
||||||
-- Is this water?
|
-- Is this water?
|
||||||
-- Returns the liquidtype, if indeed water.
|
-- Returns the liquidtype, if indeed water.
|
||||||
function kelp.is_submerged(node)
|
function kelp.is_submerged(node)
|
||||||
if mt_get_item_group(node.name, "water") ~= 0 then
|
local g = mt_get_item_group(node.name, "water")
|
||||||
|
if g > 0 and g <= 3 then
|
||||||
-- Expected only "source" and "flowing" from water liquids
|
-- Expected only "source" and "flowing" from water liquids
|
||||||
return mt_registered_nodes[node.name].liquidtype
|
return mt_registered_nodes[node.name].liquidtype
|
||||||
end
|
end
|
||||||
|
@ -267,7 +268,7 @@ function kelp.next_height(pos, node, pos_tip, node_tip, submerged, downward_flow
|
||||||
-- Flowing liquid: Grow 1 step, but also turn the tip node into a liquid source.
|
-- Flowing liquid: Grow 1 step, but also turn the tip node into a liquid source.
|
||||||
if downward_flowing then
|
if downward_flowing then
|
||||||
local alt_liq = mt_registered_nodes[node_tip.name].liquid_alternative_source
|
local alt_liq = mt_registered_nodes[node_tip.name].liquid_alternative_source
|
||||||
if alt_liq then
|
if alt_liq and mt_registered_nodes[alt_liq] then
|
||||||
mt_set_node(pos_tip, {name=alt_liq})
|
mt_set_node(pos_tip, {name=alt_liq})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue