This commit is contained in:
theFox6 2018-05-17 16:48:18 +02:00
commit 6985fdd198
2 changed files with 27 additions and 17 deletions

8
weather/settingtypes.txt Normal file
View File

@ -0,0 +1,8 @@
# Fast computer ABM
#
# The “fast computer ABM” controls if snow covers will be placed
# on the ground when `weather:snow` is set. This needs a better
# computer and should not be used if the performance drops too
# much. It is advised not to enable this on servers and it is
# disbaled by default
weather_fast_pc (Snow covers for fast PCs) bool false

View File

@ -26,23 +26,25 @@ minetest.register_node("weather:snow_cover", {
drop = {} drop = {}
}) })
--[[ Enable this section if you have a very fast PC -- Snow cover ABM when weather_fast_pc setting is set to `true`
minetest.register_abm({ if minetest.is_yes(minetest.settings:get_bool('weather_fast_pc')) then
nodenames = {"group:crumbly", "group:snappy", "group:cracky", "group:choppy"}, minetest.log('action', '[weather] Loaded fast computer ABM (snow covers when weather:snow is set)')
neighbors = {"default:air"}, minetest.register_abm({
interval = 10.0, nodenames = {"group:crumbly", "group:snappy", "group:cracky", "group:choppy"},
chance = 80, neighbors = {"default:air"},
action = function (pos, node, active_object_count, active_object_count_wider) interval = 10.0,
if weather == "snow" then chance = 80,
if minetest.registered_nodes[node.name].drawtype == "normal" action = function (pos, node)
or minetest.registered_nodes[node.name].drawtype == "allfaces_optional" then if weather.type == "weather:snow" then
local np = vector.add(pos, {x=0, y=1, z=0}) if minetest.registered_nodes[node.name].drawtype == "normal"
if minetest.env:get_node_light(np, 0.5) == 15 or minetest.registered_nodes[node.name].drawtype == "allfaces_optional" then
and minetest.env:get_node(np).name == "air" then local np = vector.add(pos, {x=0, y=1, z=0})
minetest.env:add_node(np, {name="weather:snow_cover"}) if minetest.env:get_node_light(np, 0.5) == 15
and minetest.env:get_node(np).name == "air" then
minetest.env:add_node(np, {name="weather:snow_cover"})
end
end end
end end
end end
end })
}) end
]]