This commit is contained in:
2026-07-01 22:11:44 +09:00
parent fbff8d4a5a
commit 328e147dde
10 changed files with 121 additions and 117 deletions
+2 -2
View File
@@ -16,7 +16,7 @@ local function spoil_freeze_handle(i)
item.icon = nil
item.icon_size = nil
item.icon_mipmaps = nil
item.spoil_ticks = (i.spoil_ticks and math.floor(i.spoil_ticks * settings.startup['PHI-SA-SPOIL-FREEZE-MULTIPLIER'].value / 10)) or nil
item.spoil_ticks = (i.spoil_ticks and math.floor(i.spoil_ticks * settings.startup['PHI-SA-SPOIL-FREEZE'].value / 10)) or nil
item.spoil_result = (i.spoil_ticks and i.name) or nil
item.spoil_to_trigger_result = nil
item.localised_name = {'item-name.' .. i.name}
@@ -59,7 +59,7 @@ end
-- SA C 1 SPACE_AGE TOOL
do
local spoil_set = (settings.startup['PHI-SA'].value and not settings.startup['PHI-SA-SPOIL'].value) or (settings.startup['PHI-GM'].value and settings.startup['PHI-GM'].value ~= '')
local spoil_freeze_set = settings.startup['PHI-SA'].value and settings.startup['PHI-SA-SPOIL'].value and settings.startup['PHI-SA-SPOIL-FREEZE-MULTIPLIER'].value and settings.startup['PHI-SA-SPOIL-FREEZE-MULTIPLIER'].value > 0
local spoil_freeze_set = settings.startup['PHI-SA'].value and settings.startup['PHI-SA-SPOIL'].value and settings.startup['PHI-SA-SPOIL-FREEZE'].value and settings.startup['PHI-SA-SPOIL-FREEZE'].value > 0
for _, v in pairs({'nutrients', 'captive-biter-spawner', 'biter-egg', 'pentapod-egg', 'agricultural-science-pack'}) do
if spoil_set then
-23
View File
@@ -2,28 +2,5 @@ return {
['hide'] = {
['parameters'] = true,
['spawnables'] = true,
},
['status'] = {
['disabled'] = {r = 255, g = 0, b = 0},
['idle'] = {r = 255, g = 0, b = 0},
['insufficient_input'] = {r = 255, g = 0, b = 0},
['no_minable_resources'] = {r = 255, g = 0, b = 0},
['no_power'] = {r = 255, g = 0, b = 0},
['low_power'] = {r = 255, g = 128, b = 0},
['full_output'] = {r = 255, g = 255, b = 0},
['working'] = {r = 0, g = 255, b = 0},
},
['status_ignore'] = {
-- Mining Drones
['mining-depot'] = true,
-- Transport Drones
['buffer-depot'] = true,
['fluid-depot'] = true,
['fuel-depot'] = true,
['request-depot'] = true,
['supply-depot'] = true,
-- Space Exploration
['se-core-miner'] = true,
['se-rocket-launch-pad-silo'] = true,
}
}
-78
View File
@@ -22,84 +22,6 @@ if items['hide'] and (data.raw['infinity-container']['super-infinity-chest'] or
end
end
-- MIG C 11 BASE ENTITY
-- MIG C 1 RECYCLER ENTITY
-- MIG C 7 SPACE_AGE ENTITY
if settings.startup['PHI-CT-STATUS'].value and items['status'] and items['status_ignore'] then
function main_entity_number_position(entity)
local box = entity.selection_box or entity.collision_box
if not box then
return
end
if not box.left_top and not box.right_bottom and type(box[1]) == 'table' and type(box[2]) == 'table' then
box = {
left_top = {x = box[1][1], y = box[1][2]},
right_bottom = {x = box[2][1], y = box[2][2]}
}
end
local w = box.right_bottom.x - box.left_top.x
local h = box.right_bottom.y - box.left_top.y
local cx = (box.left_top.x + box.right_bottom.x) / 2
local cy = (box.left_top.y + box.right_bottom.y) / 2
local positions = {
[1] = {
x = cx - 0.2 * w,
y = cy + h / 2 - 0.25
},
[2] = {
x = cx - 0.2 * h,
y = cy + w / 2 - 0.25
}
}
return positions
end
for _, c in pairs({'assembling-machine', 'furnace', 'mining-drill'}) do
for _, v in pairs(data.raw[c]) do
if not v.bottleneck_ignore and not items['status_ignore'][v.name] then
for _, a in pairs({'graphics_set', 'wet_mining_graphics_set', 'graphics_set_flipped'}) do
if v[a] then
v[a].status_colors = items['status']
if not v[a].working_visualisations then
v[a].working_visualisations = {}
end
local positions = main_entity_number_position(v)
if positions then
v[a].working_visualisations[#v[a].working_visualisations + 1] = {
always_draw = true,
apply_tint = 'status',
render_layer = 'light-effect',
animation = {
filename = '__base__/graphics/icons/signal/signal_white.png',
flags = {'icon'},
size = 64,
scale = 0.15,
line_length = 1,
frame_count = 1,
animation_speed = 1,
draw_as_glow = true
},
north_position = positions[1],
east_position = positions[2],
south_position = positions[1],
west_position = positions[2],
}
end
end
end
end
end
end
end
-- CT A 1 BASE MAP_GEN_PRESET
if settings.startup['PHI-CT-TILE'].value then
local autoplace_setting_decorative = {}
+25
View File
@@ -0,0 +1,25 @@
return {
['status'] = {
['disabled'] = {r = 255, g = 0, b = 0},
['idle'] = {r = 255, g = 0, b = 0},
['insufficient_input'] = {r = 255, g = 0, b = 0},
['no_minable_resources'] = {r = 255, g = 0, b = 0},
['no_power'] = {r = 255, g = 0, b = 0},
['low_power'] = {r = 255, g = 128, b = 0},
['full_output'] = {r = 255, g = 255, b = 0},
['working'] = {r = 0, g = 255, b = 0},
},
['status_ignore'] = {
-- Mining Drones
['mining-depot'] = true,
-- Transport Drones
['buffer-depot'] = true,
['fluid-depot'] = true,
['fuel-depot'] = true,
['request-depot'] = true,
['supply-depot'] = true,
-- Space Exploration
['se-core-miner'] = true,
['se-rocket-launch-pad-silo'] = true,
}
}
+80
View File
@@ -0,0 +1,80 @@
local items = require('mi-c')
-- MI C 11 BASE ENTITY
-- MI C 1 RECYCLER ENTITY
-- MI C 7 SPACE_AGE ENTITY
if settings.startup['PHI-CT-STATUS'].value and items['status'] and items['status_ignore'] then
function main_entity_number_position(entity)
local box = entity.selection_box or entity.collision_box
if not box then
return
end
if not box.left_top and not box.right_bottom and type(box[1]) == 'table' and type(box[2]) == 'table' then
box = {
left_top = {x = box[1][1], y = box[1][2]},
right_bottom = {x = box[2][1], y = box[2][2]}
}
end
local w = box.right_bottom.x - box.left_top.x
local h = box.right_bottom.y - box.left_top.y
local cx = (box.left_top.x + box.right_bottom.x) / 2
local cy = (box.left_top.y + box.right_bottom.y) / 2
local positions = {
[1] = {
x = cx - 0.2 * w,
y = cy + h / 2 - 0.25
},
[2] = {
x = cx - 0.2 * h,
y = cy + w / 2 - 0.25
}
}
return positions
end
for _, c in pairs({'assembling-machine', 'furnace', 'mining-drill'}) do
for _, v in pairs(data.raw[c]) do
if not v.bottleneck_ignore and not items['status_ignore'][v.name] then
for _, a in pairs({'graphics_set', 'wet_mining_graphics_set', 'graphics_set_flipped'}) do
if v[a] then
v[a].status_colors = items['status']
if not v[a].working_visualisations then
v[a].working_visualisations = {}
end
local positions = main_entity_number_position(v)
if positions then
v[a].working_visualisations[#v[a].working_visualisations + 1] = {
always_draw = true,
apply_tint = 'status',
render_layer = 'light-effect',
animation = {
filename = '__base__/graphics/icons/signal/signal_white.png',
flags = {'icon'},
size = 64,
scale = 0.15,
line_length = 1,
frame_count = 1,
animation_speed = 1,
draw_as_glow = true
},
north_position = positions[1],
east_position = positions[2],
south_position = positions[1],
west_position = positions[2],
}
end
end
end
end
end
end
end