This commit is contained in:
2025-06-05 20:35:28 +09:00
parent 42c6d7d9e3
commit 90dcbfc87f

View File

@@ -48,6 +48,41 @@ local function inserter_gui_update(player, inserter)
gui['i_sub_direction'].selected_index = ((inserter_direction_reversed[inserter.direction] - 1) % 4) + 1 gui['i_sub_direction'].selected_index = ((inserter_direction_reversed[inserter.direction] - 1) % 4) + 1
end end
local function inserter_changed(e)
local player = game.players[e.player_index]
if e.entity and player.opened == e.entity and (player.opened.type == 'inserter' or (player.opened.type == 'entity-ghost' and player.opened.ghost_type == 'inserter')) then
inserter_gui_update(player, player.opened)
end
end
local function trash_entity_creation(event)
if event.entity.name == 'trash-chest' then
event.entity.remove_unfiltered_items = true
elseif event.entity.name == 'trash-pipe' then
event.entity.set_infinity_pipe_filter(nil)
end
end
local function hidden_recipe_enable(event)
local enable = (event.name == defines.events.on_player_cheat_mode_enabled)
local force = game.players[event.player_index].force
for _, v in pairs(prototypes.fluid) do
if force.recipes['pump-' .. v.name] then
force.recipes['pump-' .. v.name].enabled = enable
end
end
force.recipes['super-radar'].enabled = enable
force.recipes['passive-energy-void'].enabled = enable
force.recipes['linked-chest'].enabled = enable
force.recipes['infinity-chest'].enabled = enable
force.recipes['infinity-cargo-wagon'].enabled = enable
force.recipes['infinity-pipe'].enabled = enable
end
script.on_init(function() script.on_init(function()
storage.phi_cl = storage.phi_cl or { storage.phi_cl = storage.phi_cl or {
event_handler = {} event_handler = {}
@@ -85,33 +120,6 @@ local function event_reg(event_name, event_handler, event_filter)
end end
end end
local function trash_entity_creation(event)
if event.entity.name == 'trash-chest' then
event.entity.remove_unfiltered_items = true
elseif event.entity.name == 'trash-pipe' then
event.entity.set_infinity_pipe_filter(nil)
end
end
local function hidden_recipe_enable(event)
local enable = (event.name == defines.events.on_player_cheat_mode_enabled)
local force = game.players[event.player_index].force
for _, v in pairs(prototypes.fluid) do
if force.recipes['pump-' .. v.name] then
force.recipes['pump-' .. v.name].enabled = enable
end
end
force.recipes['super-radar'].enabled = enable
force.recipes['passive-energy-void'].enabled = enable
force.recipes['linked-chest'].enabled = enable
force.recipes['infinity-chest'].enabled = enable
force.recipes['infinity-cargo-wagon'].enabled = enable
force.recipes['infinity-pipe'].enabled = enable
end
if settings.startup['PHI-CT'].value then if settings.startup['PHI-CT'].value then
filter = {{filter = 'type', type = 'infinity-container', mode = 'or'}, {filter = 'type', type = 'infinity-pipe', mode = 'or'}} filter = {{filter = 'type', type = 'infinity-container', mode = 'or'}, {filter = 'type', type = 'infinity-pipe', mode = 'or'}}
@@ -187,28 +195,22 @@ if settings.startup['PHI-CT'].value or settings.startup['PHI-MI'].value or (sett
inserter_gui_create(game.players[event.player_index]) inserter_gui_create(game.players[event.player_index])
end, nil) end, nil)
script.on_event(defines.events.on_gui_opened, function(e) event_reg('on_gui_opened', function(event)
if e.entity and (e.entity.type == 'inserter' or (e.entity.type == 'entity-ghost' and e.entity.ghost_type == 'inserter')) then if event.entity and (event.entity.type == 'inserter' or (event.entity.type == 'entity-ghost' and event.entity.ghost_type == 'inserter')) then
inserter_gui_update(game.players[e.player_index], e.entity) inserter_gui_update(game.players[event.player_index], event.entity)
end end
end) end, nil)
script.on_event(defines.events.on_gui_selection_state_changed, function(e) event_reg('on_gui_selection_state_changed', function(event)
local player = game.players[e.player_index] local player = game.players[event.player_index]
local gui = player.gui.relative.inserter_config local gui = player.gui.relative.inserter_config
if player.opened and player.opened.object_name == 'LuaEntity' and (player.opened.type == 'inserter' or (player.opened.type == 'entity-ghost' and player.opened.ghost_type == 'inserter')) and gui[e.element.name] then if player.opened and player.opened.object_name == 'LuaEntity' and (player.opened.type == 'inserter' or (player.opened.type == 'entity-ghost' and player.opened.ghost_type == 'inserter')) and gui[event.element.name] then
player.opened.direction = inserter_direction[(math.floor(inserter_direction_reversed[player.opened.direction] / 4) * 4 + (e.element.parent['i_sub_direction'].selected_index - 1)) % 16 + 1] player.opened.direction = inserter_direction[(math.floor(inserter_direction_reversed[player.opened.direction] / 4) * 4 + (event.element.parent['i_sub_direction'].selected_index - 1)) % 16 + 1]
end end
end) end, nil)
local function inserter_changed(e)
local player = game.players[e.player_index]
if e.entity and player.opened == e.entity and (player.opened.type == 'inserter' or (player.opened.type == 'entity-ghost' and player.opened.ghost_type == 'inserter')) then
inserter_gui_update(player, player.opened)
end
end
script.on_event({defines.events.on_player_rotated_entity, defines.events.on_player_flipped_entity}, inserter_changed) script.on_event({defines.events.on_player_rotated_entity, defines.events.on_player_flipped_entity}, inserter_changed)