1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-11-23 22:22:34 +02:00
Files
ComfyFactorio/control.lua

200 lines
6.2 KiB
Lua
Raw Normal View History

2020-04-08 20:38:18 +02:00
require 'utils.data_stages'
_LIFECYCLE = _STAGE.control -- Control stage
_DEBUG = false
2020-04-08 20:38:18 +02:00
_DUMP_ENV = false
2023-06-17 23:32:35 +02:00
_PROFILE = false
2020-04-08 20:38:18 +02:00
require 'utils.created_events'
2020-04-08 20:38:18 +02:00
require 'utils.server'
2025-10-26 11:15:30 +01:00
require 'utils.dev_server'
2020-05-10 02:42:10 +02:00
require 'utils.server_commands'
2025-10-16 21:36:02 +02:00
require 'utils.gui.init'
require 'utils.admin_handler'
2020-05-10 02:42:10 +02:00
require 'utils.utils'
2024-10-03 23:23:22 +01:00
require 'utils.math.math'
require 'utils.pause_game'
2020-05-10 02:42:10 +02:00
require 'utils.table'
require 'utils.whisper_notice'
2024-05-27 20:30:03 +02:00
require 'utils.datastore.init'
2021-12-05 22:15:49 +01:00
require 'utils.chatbot'
2024-06-04 23:27:12 +02:00
require 'utils.common_commands'
2021-12-05 22:15:49 +01:00
require 'utils.antigrief'
require 'utils.debug.command'
2020-05-10 02:42:10 +02:00
require 'modules.floaty_chat'
require 'modules.show_inventory'
require 'modules.inserter_drops_pickup'
2021-12-05 22:15:49 +01:00
require 'modules.autostash'
2020-04-08 20:38:18 +02:00
2023-09-05 00:03:55 +02:00
require 'utils.remote_chunks'
2020-04-08 20:38:18 +02:00
---------------- ENABLE MAPS HERE ----------------
2020-10-10 20:37:28 +02:00
--!Make sure only one map is enabled at a time.
--!Remove the "--" in front of the line to enable.
--!All lines with the "require" keyword are different maps.
2025-11-16 21:12:05 +01:00
--![[Comfylatron has seized the Fish Train and turned it into a time machine]]--
--require 'maps.chronosphere.main'
2020-10-10 20:37:28 +02:00
--![[Guide a Train through rough terrain, while defending it from the biters]]--
2024-10-26 12:14:28 +02:00
--require 'maps.mountain_fortress_v3.main'
2020-10-10 20:37:28 +02:00
--require 'maps.mountain_fortress_v2.main'
--require 'maps.mountain_fortress'
2025-10-29 18:18:43 +01:00
--![[Launch rockets in increasingly harder getting worlds.]]--
--require 'maps.journey.main'
--![[Infestation Islands]]--
--require 'maps.infestation_islands.main'
--![[Infinite random dungeon with RPG]]--
--require 'maps.dungeons.main'
2023-01-17 10:52:32 +01:00
2020-10-10 20:37:28 +02:00
--![[Defend the market against waves of biters]]--
2020-07-12 20:54:44 +02:00
--require 'maps.fish_defender_v2.main'
--require 'maps.crab_defender.main'
--require 'maps.fish_defender_v1.fish_defender'
--require 'maps.fish_defender.main'
--![[Adventure as a crew of pirates]]--
--require 'maps.pirates.main'
2021-10-13 14:56:49 +01:00
2020-10-10 20:37:28 +02:00
--![[East VS West Survival PVP, where you breed biters with science flasks]]--
--require 'maps.biter_hatchery.main'
--![[Fight in a world where everyone are prisoners]]
--require 'maps.planet_prison'
2020-10-10 20:37:28 +02:00
--![[Chop trees to gain resources]]--
2020-09-13 10:06:15 +02:00
--require 'maps.choppy'
--require 'maps.choppy_dx'
2021-04-19 21:09:00 +02:00
--![[Minesweeper?]]--
--require 'maps.minesweeper.main'
2025-10-29 18:18:43 +01:00
--![[Tower defense system]]--
--require 'maps.tower_defense.main'
2025-11-16 21:12:05 +01:00
--![[North VS South Survival PVP, feed the opposing team's biters with science flasks. Disable Autostash, Group and Poll modules.]]--
--require 'maps.biter_battles_v2.main'
--require 'maps.biter_battles.biter_battles'
2020-10-10 20:37:28 +02:00
--![[Randomly generating Islands that have to be beaten in levels to gain credits]]--
--require 'maps.island_troopers.main'
2020-10-10 20:37:28 +02:00
--![[Infinitely expanding mazes]]--
--require 'maps.stone_maze.main'
--require 'maps.labyrinth'
2020-10-10 20:37:28 +02:00
--![[Extreme survival mode with thirst and limited building room]]--
2020-09-13 10:06:15 +02:00
--require 'maps.desert_oasis'
2020-10-10 20:37:28 +02:00
--![[The trees are your enemy here]]--
--require 'maps.overgrowth'
2020-10-10 20:37:28 +02:00
--![[Wave Defense Map split in 4 Quarters]]--
2021-01-25 01:37:17 +01:00
--require 'maps.quarters'
2020-10-10 20:37:28 +02:00
--![[Flee from the collapsing map with portable base inside train]]--
--require 'maps.railway_troopers_v2.main'
2020-10-10 20:37:28 +02:00
--![[Another simliar version without collapsing terrain]]--
--require 'maps.railway_troopers.main'
2021-05-07 01:46:27 +02:00
--![[Territorial Control - reveal the map as you walk through the mist]]--
--require 'maps.territorial_control'
2022-03-06 00:34:28 +01:00
--![[Deep Jungle - dangerous map]]--
2022-03-06 00:35:07 +01:00
--require 'maps.deep_jungle.main'
2022-03-06 00:34:28 +01:00
2020-10-10 20:37:28 +02:00
--![[You fell in a dark cave, will you survive?]]--
2023-01-18 16:35:42 +01:00
--require 'maps.cave_choppy.main'
--require 'maps.cave_miner'
2020-10-19 18:26:24 +02:00
--require 'maps.cave_miner_v2.main'
2020-10-10 20:37:28 +02:00
--![[Hungry boxes eat your items, but reward you with new territory to build.]]--
2020-09-13 10:06:15 +02:00
--require 'maps.expanse.main'
2020-10-10 20:37:28 +02:00
--![[Dangerous forest with unique map revealing]]--
--require 'maps.spooky_forest'
2020-10-10 20:37:28 +02:00
--![[Defeat the biters and unlock new areas]]--
--require 'maps.spiral_troopers'
2025-10-12 21:24:35 +02:00
--![[Test map spawns all entities for testing]]--
--require 'maps.test_map.main'
2025-11-16 21:12:05 +01:00
---------------- !ENABLE MODULES HERE ----------------
--require 'modules.rpg.main'
--require 'modules.admins_operate_biters'
--require 'modules.the_floor_is_lava'
--require 'modules.biters_landfill_on_death'
--require 'modules.autodecon_when_depleted'
--require 'modules.biter_noms_you'
--require 'modules.biters_avoid_damage'
--require 'modules.biters_double_damage'
--require 'modules.burden'
--require 'modules.comfylatron'
--require 'modules.dangerous_goods'
--require 'modules.explosive_biters'
--require 'modules.explosive_player_respawn'
--require 'modules.explosives_are_explosive'
--require 'modules.fish_respawner'
--require 'modules.fluids_are_explosive'
--require 'modules.hunger'
--require 'modules.hunger_games'
--require 'modules.pistol_buffs'
--require 'modules.players_trample_paths'
--require 'modules.railgun_enhancer'
--require 'modules.restrictive_fluid_mining'
--require 'modules.robot_limits'
--require 'modules.satellite_score'
--require 'modules.show_health'
--require 'modules.splice_double'
--require 'modules.ores_are_mixed'
--require 'modules.team_teleport'
--require 'modules.surrounded_by_worms'
--require 'modules.no_blueprint_library'
--require 'modules.explosives'
--require 'modules.biter_pets'
--require 'modules.no_solar'
--require 'modules.biter_reanimator'
--require 'modules.force_health_booster'
--require 'modules.immersive_cargo_wagons.main'
--require 'modules.wave_defense.main'
--require 'modules.fjei.main'
--require 'modules.charging_station'
--require 'modules.landmine_effects'
--require 'modules.crawl_into_pipes'
--require 'modules.no_acid_puddles'
--require 'modules.simple_tags'
--require 'modules.turret_filler'
---------------------------------------------------------------
2020-04-08 20:38:18 +02:00
2022-04-08 00:11:10 +02:00
--- this file exists only for the panel to sync and start from within the panel
-- it does nothing if it's not synced from within the panel
2022-04-08 00:35:03 +02:00
require 'map_loader'
2022-04-08 00:08:40 +02:00
2020-04-08 20:38:18 +02:00
if _DUMP_ENV then
require 'utils.dump_env'
2023-06-17 23:32:35 +02:00
end
if _PROFILE then
2021-04-04 13:51:27 +02:00
require 'utils.profiler'
2020-04-08 20:38:18 +02:00
end
local function on_player_created(event)
2020-05-10 02:42:10 +02:00
local player = game.players[event.player_index]
player.gui.top.style = 'packed_horizontal_flow'
player.gui.left.style = 'vertical_flow'
2024-11-10 22:10:11 +01:00
-- player.show_on_map = false -- hide selection on minimap
2020-04-08 20:38:18 +02:00
end
local Event = require 'utils.event'
Event.add(defines.events.on_player_created, on_player_created)
2020-04-08 20:38:18 +02:00
local loaded = _G.package.loaded
function require(path)
2024-11-10 22:10:11 +01:00
return loaded[normalize_path(path)] or error('Can only require files at runtime that have been required in the control stage.', 2)
2020-04-08 20:38:18 +02:00
end