mirror of
https://github.com/luanti-org/minetest_game.git
synced 2025-05-20 22:33:16 -04:00
weather dirt
This commit is contained in:
parent
40672e067c
commit
84224165b6
1 changed files with 35 additions and 12 deletions
|
@ -1,5 +1,7 @@
|
||||||
-- mods/default/nodes.lua
|
-- mods/default/nodes.lua
|
||||||
|
|
||||||
|
local weather = minetest.setting_getbool("weather")
|
||||||
|
|
||||||
minetest.register_node("default:stone", {
|
minetest.register_node("default:stone", {
|
||||||
description = "Stone",
|
description = "Stone",
|
||||||
tiles = {"default_stone.png"},
|
tiles = {"default_stone.png"},
|
||||||
|
@ -140,14 +142,16 @@ minetest.register_abm({
|
||||||
local above = {x=pos.x, y=pos.y+1, z=pos.z}
|
local above = {x=pos.x, y=pos.y+1, z=pos.z}
|
||||||
local name = minetest.get_node(above).name
|
local name = minetest.get_node(above).name
|
||||||
local nodedef = minetest.registered_nodes[name]
|
local nodedef = minetest.registered_nodes[name]
|
||||||
if nodedef and (nodedef.sunlight_propagates or nodedef.paramtype == "light")
|
if (weather and minetest.get_heat(pos) < -15) or name == "default:snow" or
|
||||||
and nodedef.liquidtype == "none"
|
name == "default:snowblock" or name == "default:ice"
|
||||||
and (minetest.get_node_light(above) or 0) >= 13 then
|
then
|
||||||
if name == "default:snow" or name == "default:snowblock" then
|
minetest.set_node(pos, {name = "default:dirt_with_snow"})
|
||||||
minetest.set_node(pos, {name = "default:dirt_with_snow"})
|
elseif (not weather or minetest.get_heat(pos) > 5) and
|
||||||
else
|
nodedef and (nodedef.sunlight_propagates or nodedef.paramtype == "light") and
|
||||||
minetest.set_node(pos, {name = "default:dirt_with_grass"})
|
nodedef.liquidtype == "none" and
|
||||||
end
|
(minetest.get_node_light(above) or 0) >= 13
|
||||||
|
then
|
||||||
|
minetest.set_node(pos, {name = "default:dirt_with_grass"})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
@ -160,9 +164,28 @@ minetest.register_abm({
|
||||||
local above = {x=pos.x, y=pos.y+1, z=pos.z}
|
local above = {x=pos.x, y=pos.y+1, z=pos.z}
|
||||||
local name = minetest.get_node(above).name
|
local name = minetest.get_node(above).name
|
||||||
local nodedef = minetest.registered_nodes[name]
|
local nodedef = minetest.registered_nodes[name]
|
||||||
if name ~= "ignore" and nodedef
|
if (name ~= "ignore" and nodedef
|
||||||
and not ((nodedef.sunlight_propagates or nodedef.paramtype == "light")
|
and not ((nodedef.sunlight_propagates or nodedef.paramtype == "light")
|
||||||
and nodedef.liquidtype == "none") then
|
and nodedef.liquidtype == "none")) or (weather
|
||||||
|
and (minetest.get_heat(pos) < -5 or minetest.get_heat(pos) > 60))
|
||||||
|
or name == "default:snow" or name == "default:snowblock" or name == "default:ice"
|
||||||
|
then
|
||||||
|
minetest.set_node(pos, {name = "default:dirt"})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_abm({
|
||||||
|
nodenames = {"default:dirt_with_snow"},
|
||||||
|
interval = 2,
|
||||||
|
chance = 200,
|
||||||
|
action = function(pos, node)
|
||||||
|
local above = {x=pos.x, y=pos.y+1, z=pos.z}
|
||||||
|
local name = minetest.get_node(above).name
|
||||||
|
local nodedef = minetest.registered_nodes[name]
|
||||||
|
if (name ~= "ignore" and nodedef and (nodedef.liquidtype ~= "none" or
|
||||||
|
(weather and minetest.get_heat(pos) > 3 and name ~= "default:snow" and name ~= "default:snowblock" and name ~= "default:ice")))
|
||||||
|
then
|
||||||
minetest.set_node(pos, {name = "default:dirt"})
|
minetest.set_node(pos, {name = "default:dirt"})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -732,7 +755,7 @@ minetest.register_node("default:lava_flowing", {
|
||||||
liquid_renewable = false,
|
liquid_renewable = false,
|
||||||
damage_per_second = 4*2,
|
damage_per_second = 4*2,
|
||||||
post_effect_color = {a=192, r=255, g=64, b=0},
|
post_effect_color = {a=192, r=255, g=64, b=0},
|
||||||
groups = {lava=3, liquid=2, hot=150, igniter=1, not_in_creative_inventory=1},
|
groups = {lava=3, liquid=2, hot=700, igniter=1, not_in_creative_inventory=1},
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("default:lava_source", {
|
minetest.register_node("default:lava_source", {
|
||||||
|
@ -765,7 +788,7 @@ minetest.register_node("default:lava_source", {
|
||||||
liquid_renewable = false,
|
liquid_renewable = false,
|
||||||
damage_per_second = 4*2,
|
damage_per_second = 4*2,
|
||||||
post_effect_color = {a=192, r=255, g=64, b=0},
|
post_effect_color = {a=192, r=255, g=64, b=0},
|
||||||
groups = {lava=3, liquid=2, hot=200, igniter=1},
|
groups = {lava=3, liquid=2, hot=1200, igniter=1},
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("default:torch", {
|
minetest.register_node("default:torch", {
|
||||||
|
|
Loading…
Add table
Reference in a new issue