mirror of
https://github.com/minetest-mods/technic.git
synced 2025-02-04 22:30:30 +01:00
Update radiation.lua
Spaces bothered me.
This commit is contained in:
parent
cedccb4401
commit
2309259f64
@ -34,8 +34,8 @@ local cache_radiation_resistance = {}
|
||||
|
||||
-- Function to register node-specific resistance
|
||||
function technic.register_rad_resistance(node_name, resistance)
|
||||
rad_resistance_node[node_name] = resistance
|
||||
cache_radiation_resistance[node_name] = nil -- Invalidate cache
|
||||
rad_resistance_node[node_name] = resistance
|
||||
cache_radiation_resistance[node_name] = nil -- Invalidate cache
|
||||
end
|
||||
|
||||
local S = technic.getter
|
||||
@ -177,18 +177,18 @@ local node_resistances = {
|
||||
|
||||
-- Register all node resistances at once
|
||||
for node_name, resistance in pairs(node_resistances) do
|
||||
technic.register_rad_resistance(node_name, resistance)
|
||||
technic.register_rad_resistance(node_name, resistance)
|
||||
end
|
||||
|
||||
-- Function to register group-specific resistance
|
||||
function technic.register_group_resistance(group_name, resistance)
|
||||
rad_resistance_group[group_name] = resistance
|
||||
-- Invalidate cache for all nodes in this group
|
||||
for node_name, def in pairs(minetest.registered_nodes) do
|
||||
if def.groups[group_name] then
|
||||
cache_radiation_resistance[node_name] = nil
|
||||
end
|
||||
end
|
||||
rad_resistance_group[group_name] = resistance
|
||||
-- Invalidate cache for all nodes in this group
|
||||
for node_name, def in pairs(minetest.registered_nodes) do
|
||||
if def.groups[group_name] then
|
||||
cache_radiation_resistance[node_name] = nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
technic.register_group_resistance("concrete", 16)
|
||||
@ -198,39 +198,39 @@ technic.register_group_resistance("wood", 1.7)
|
||||
|
||||
-- Function to calculate radiation resistance
|
||||
function node_radiation_resistance(node_name)
|
||||
local resistance = cache_radiation_resistance[node_name]
|
||||
if resistance then
|
||||
return resistance
|
||||
end
|
||||
local def = minetest.registered_nodes[node_name]
|
||||
if not def then
|
||||
cache_radiation_resistance[node_name] = 0
|
||||
return 0
|
||||
end
|
||||
local resistance = cache_radiation_resistance[node_name]
|
||||
if resistance then
|
||||
return resistance
|
||||
end
|
||||
local def = minetest.registered_nodes[node_name]
|
||||
if not def then
|
||||
cache_radiation_resistance[node_name] = 0
|
||||
return 0
|
||||
end
|
||||
|
||||
-- Check for rad_resistance group in node definition
|
||||
resistance = 0
|
||||
for g, v in pairs(def.groups) do
|
||||
if g == "rad_resistance" then
|
||||
resistance = resistance + v
|
||||
end
|
||||
end
|
||||
|
||||
-- Check for rad_resistance group in node definition
|
||||
resistance = 0
|
||||
for g, v in pairs(def.groups) do
|
||||
if g == "rad_resistance" then
|
||||
resistance = resistance + v
|
||||
end
|
||||
end
|
||||
-- If no rad_resistance group, use registered node-specific resistance
|
||||
if resistance >= 0 then
|
||||
resistance = rad_resistance_node[node_name] or 0
|
||||
end
|
||||
|
||||
-- If no rad_resistance group, use registered node-specific resistance
|
||||
if resistance >= 0 then
|
||||
resistance = rad_resistance_node[node_name] or 0
|
||||
end
|
||||
-- Add group-specific resistance if applicable
|
||||
for g, v in pairs(def.groups) do
|
||||
if v > 0 and rad_resistance_group[g] then
|
||||
resistance = resistance + rad_resistance_group[g]
|
||||
end
|
||||
end
|
||||
|
||||
-- Add group-specific resistance if applicable
|
||||
for g, v in pairs(def.groups) do
|
||||
if v > 0 and rad_resistance_group[g] then
|
||||
resistance = resistance + rad_resistance_group[g]
|
||||
end
|
||||
end
|
||||
|
||||
resistance = math.sqrt(resistance)
|
||||
cache_radiation_resistance[node_name] = resistance
|
||||
return resistance
|
||||
resistance = math.sqrt(resistance)
|
||||
cache_radiation_resistance[node_name] = resistance
|
||||
return resistance
|
||||
end
|
||||
|
||||
--[[
|
||||
|
Loading…
Reference in New Issue
Block a user