the ignition temperature of nodes on the surface has been revised

This commit is contained in:
Vitaliy olkhin 2025-04-02 12:26:59 +05:00
parent 9c3af421ce
commit f0c85ce446
2 changed files with 68 additions and 17 deletions

View File

@ -1,7 +1,7 @@
name = surface_effect
description = surface effect
depends = default, persistent_effects, mobs_monster, radiant_damage, hazmat_suit, ethereal, 3d_armor
optional_depends = technic, farming, space_travel, bunker, unified_inventory
depends = default, persistent_effects, mobs_monster, radiant_damage, hazmat_suit, 3d_armor
optional_depends = technic, farming, space_travel, bunker, unified_inventory, ethereal
min_minetest_version = 5.7
title = Surface Effect
release = 0

View File

@ -1,4 +1,5 @@
local speed = minetest.setting_get("time_speed")/96
local flash_point = 61
minetest.register_abm({
nodenames = {"default:dirt_with_grass"},
@ -11,17 +12,79 @@ minetest.register_abm({
end,
})
if minetest.get_modpath("areas") then
--ethereal
if minetest.get_modpath("ethereal") then
minetest.register_abm({
nodenames = {"ethereal:grove_dirt"},
interval = 10/speed,
chance = 50,
action = function(pos)
local info_biome = minetest.get_biome_data(pos)
if pos.y > -10 and pos.y < 30 then
minetest.env:add_node(pos, {name="surface_effect:radioactive_earth"})
end
end,
})
minetest.register_abm({
nodenames = {"default:dirt_with_grass"},
interval = 30/speed,
chance = 2000,
action = function(pos)
local info_biome = minetest.get_biome_data(pos)
if pos.y > -10 and pos.y < 100 and info_biome.heat > flash_point then
minetest.env:add_node(pos, {name="ethereal:dry_dirt"})
end
end,
})
minetest.register_abm({
nodenames = {"ethereal:grove_dirt"},
interval = 30/speed,
chance = 2000,
action = function(pos)
local info_biome = minetest.get_biome_data(pos)
if pos.y > -10 and pos.y < 100 and info_biome.heat > flash_point then
minetest.env:add_node(pos, {name="ethereal:dry_dirt"})
end
end,
})
minetest.register_abm({
nodenames = {"ethereal:bamboo_dirt"},
interval = 30/speed,
chance = 2000,
action = function(pos)
local info_biome = minetest.get_biome_data(pos)
if pos.y > -10 and pos.y < 100 and info_biome.heat > flash_point then
minetest.env:add_node(pos, {name="ethereal:dry_dirt"})
end
end,
})
minetest.register_abm({
nodenames = {"ethereal:cold_dirt"},
interval = 30/speed,
chance = 2000,
action = function(pos)
local info_biome = minetest.get_biome_data(pos)
if pos.y > -10 and pos.y < 100 and info_biome.heat > flash_point then
minetest.env:add_node(pos, {name="ethereal:dry_dirt"})
end
end,
})
minetest.register_abm({
nodenames = {"ethereal:prairie_dirt"},
interval = 30/speed,
chance = 2000,
action = function(pos)
local info_biome = minetest.get_biome_data(pos)
if pos.y > -10 and pos.y < 100 and info_biome.heat > flash_point then
minetest.env:add_node(pos, {name="ethereal:dry_dirt"})
end
end,
})
end
minetest.register_abm({
@ -31,7 +94,7 @@ minetest.register_abm({
action = function(pos)
local info_biome = minetest.get_biome_data(pos)
if pos.y > -10 and pos.y < 500 and info_biome.heat > 45 then
if pos.y > -10 and pos.y < 500 and info_biome.heat > flash_point then
minetest.env:add_node(pos, {name="fire:basic_flame"})
end
end,
@ -55,7 +118,7 @@ minetest.register_abm({
action = function(pos)
local info_biome = minetest.get_biome_data(pos)
if pos.y > -10 and pos.y < 1500 and info_biome.heat > 45 then
if pos.y > -10 and pos.y < 1500 and info_biome.heat > flash_point then
minetest.env:remove_node(pos)
if minetest.env:get_node({x=pos.x, y=pos.y -1, z=pos.z}).name == "default:water_source" then
minetest.env:remove_node({x=pos.x, y=pos.y -1, z=pos.z})
@ -79,16 +142,4 @@ minetest.register_abm({
end
end
end,
})
minetest.register_abm({
nodenames = {"default:dirt_with_grass"},
interval = 30/speed,
chance = 2000,
action = function(pos)
if pos.y > -10 and pos.y < 100 then
local pos = {x = pos.x, y = pos.y, z = pos.z}
minetest.env:add_node(pos, {name="ethereal:dry_dirt"})
end
end,
})