mirror of
https://github.com/PHIDIAS0303/factorio-mod-PHI.git
synced 2025-12-27 11:05:22 +09:00
.
This commit is contained in:
@@ -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)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user