Bridge Technologies

by AivanF

When requested by other mods, the Bridge provides ingredients that will get replaced or adjusted if compatible big mods are presented. It's NOT a compatibility of overhaul mods with each other! Instead, it's a utility for developers to integrate their smaller mods with any big modpack. See Home Page for more details. Integrated: Space Age, AAI, SE, K2, IR3, 248k, Py, ExInd, Yuoki, 5Dim, Angel, Bob, BZ, etc.

Content
10 days ago
1.1 - 2.0
6.22K
Owner:
AivanF
Source:
https://github.com/AivanF/factorio-Ai...
Homepage:
https://mods.factorio.com/mod/Common-...
License:
GNU GPLv3
Created:
1 year, 2 months ago
Latest Version:
1.0.1 (10 days ago)
Factorio version:
1.1 - 2.0
Downloaded by:
6.22K users

Let me present you "Common Industries" © also known as "Bridge Technologies" ©, the Connector, or simply the Bridge.

1. Idea

1.0. TLDR

It's kinda internal lib for mods developers: I integrated most overhaul mods so that you don't need to waste your time.

1.1 The problem

There are big, overhaul mods, that add new ingredients, ores. And there are smaller mods, that add new content, especially late/end-game technologies, typically buildings, vehicles, weapons. Such mods don't aim to add big logistic or production chains, but they need some proper details for their technological objects, robustly chosen from all the available items provided by active mods.

At times small mods add their own ingredients and recipes trees, or make compatibility with 1-2 overhaul mods, but this is time-consuming, can lead to duplicated content or missing integrations or even sticking to a single big mod.

1.2. The solution

Common Industries provide items, ingredients, ammo and technologies that:
- Get dynamically replaced if compatible big mods are presented.
- Aren't available in game if not requested by other mods.
- Can be used by smaller mods to perfectly fit into arbitrary mods setup.

Let me emphasise: the Bridge does nothing by default. It's not a compatibility mod, it doesn't change any recipes from other mods. It is a tool to make your mod compatible with other ones.

1.3. The goal

My goal is to provide a list of popular, frequent intermediates, delivered from large mods when possible, helping narrow content mods developers to focus on new amazing things and game mechanics, delegating complicated integrations.

Therefore, Common Industries is a connector, a bridge between overhaul mods, sort of overhaul-unification, overhaul-proxy or meta-overhaul, so that smaller mods can rely on it incapsulting all compatibility work into a dedicated place to reduce recipes hell and to provide a coherent gameplay experience.

In case there are no overhaul mods enabled, the player probably prefers an easier gameplay, thus, Bridge Technologies add lesser overhead, just several simple recipes.

For example, you make a mod with some glass structure. Well, you simply need prototype name for a piece of glass, doesn't matter where it come from: Space Exploration or Exotic Industries or whatever else a player has installed. And you get it! Same for many-many other items.

1.4. For whom

If you develop a mod concentrating on new content, game mechanics, and you would like to provide simple yet robust production & logistic challenges and integration with many overhaul mods – the Bridge is here for you and your players!

Note that it's alpha-version, WIP mod: some recipes and internal prototypes names can be changed, therefore, it's not very safe for safes. However, you're welcome for help to test and balance the recipes to make the mod stable!

Being such a developer myself, I work on the Common Industries to simplify my own life with these mods: WH40k Titans (sample usage is here), ThunderStorm: Lightnings energy.

2. Content

2.1. How does it work?

Let's dive deeper into details! You can consider the mod as consisting of two main parts:
1. Common Industries – provides popular mods items missing in vanilla for simplicity reasons: early/mid-game intermediates (like glass, a wheel) + advanced late/end-game technology details (nanomaterials, quantum computers, other high-energy and inter-dimensional scifi stuff). It changes no vanilla recipes, even more, no items nor recipes are added by default.
2. Bridge Technologies – a proxy overhaul that provides names of prototypes when some items are requested. Internally, there is a list of items with kind of links to similar items from the integrated overhaul mods, and when there are no such items among active mods, an item and a recipe from Common Industries get created and used.

2.2. Compatible mods

Here is a list of popular overhaul mods and mod-packs I found and integrated:

  • Space Age
  • AAI Industry
  • Space Exploration
  • Krastorio 2
  • 248k
  • Exotic Industries
  • Pyanodon
  • 5Dim
  • Very BZ
  • Angel
  • Bobs
  • Industrial Revolution 3
  • ModMash Splinter
  • Omni
  • Yuoki

Many overhaul mods consist of multiple mods that can be enabled together or separately, and the Bridge handles it. Actual list of considered mods is here: bridge1-base.lua

2.3. Provided items

Items are grouped into several several sections with corresponding technologies and, what's more important, game stage. However, required researches and availability time can vary a lot depending on user's active mods: items specified here are fitted into vanilla gameplay, meanwhile, most overhauls prolong game time, thus, adjusted/replaced items often become more late game technologies. Due to this flexibility, mobility, you should consider these items more as pragmatic concepts.

You can find all the items and their adjustments in the code: bridge3-item.lua

Start

No technology research required.

  • Sand – replaced for most overhaul mods as they add their own sand or silica.

Early game

Simple/old technologies, hand crafting. This is available with automation science pack.

  • Glass – replaced with 10 overhaul mods.
  • Faraday cage – new item made of iron sticks and copper cables; for some mods, it's moved to electronics/electricity research.

Mid-game

More modern technologies, steam-punk. This is available with chemistry science pack.

  • Simple solenoid – new item by default, replaced by IR3, 248k.
  • Dense/insulated wire cable – new item by default, replaced by IR3, BZ, ExInd.
  • Optic fiber cable – new item by default, replaced by BZ, Py, 248k.
  • Rubber – plastic bar in vanilla, rubber material in IR3, Pyanodon.
  • Strong/hard material – new metal alloy by default, but replaced by many overhaul mods.
  • Lightweight material – LDS by default, but replaced by many overhaul mods.
  • Advanced ceramic – a fragile yet strong material with heat protective and electric isolating properties. Stone brick by default, replaced with heat-shielding with SE, ceramics from some other mods.
  • Meat, Brain – in case you need to create an organic body.
  • Brain-computer interface (BCI) – to control machinery with thought alone.

Late-game

Nano-technologies, high-energy, sci-fi. This is available with production + utility science packs.

  • Rocket engine
  • Carbon fiber
  • Nano material
  • Super-conductive cable
  • Super-conductive or advanced solenoid/magnet
  • Quantom chip / processing unit
  • Electro-magnetic field controller
  • High-energy emitter

End-game

Extra-high energy, space-time warping, pure sci-fi. In vanilla game, this is available with the space science packs.

  • Space-time operator
  • Extra-high energy emitter
  • Inter-dimensional processing unit

3. Usage

Add Common-Industries as a dependency to your info.json, then you can access it in the data-stage throught the Bridge, e.g:

local cable = afci_bridge.get.dense_cable() -- Step 1: import.
data:extend({
  {
    type = "item",
    name = "my-fancy-item",
    icon = "/path-to-fancy-icon",
  },
  {
    type = "recipe",
    name = "my-fancy-item",
    ingredients = {
        {"steel-plate", 10},
        {cable.name, 3), -- Step 2: embed.
    },
    result = "my-fancy-item",
  },
  {
    name = "my-fancy-tech",
    type = "technology",
    icons = {"...fancy research icon specification..."},
    effects = {
      { type = "unlock-recipe", recipe = "my-fancy-item" },
    },
    -- Optional step 3: use provided prerequisite.
    -- The cleaning removes empty and duplicated names.
    prerequisites = afci_bridge.clean_prerequisites{
        "chemical-science-pack",
        cable.prerequisite,
    },
    unit = {
      count = 100,
      ingredients = {
        {"automation-science-pack", 1},
        {"logistic-science-pack", 1},
        {"chemical-science-pack", 1},
      },
      time = 30
    }
  },
})

-- When using in other places, you can import explicitly:
local afci_bridge = require("__Common-Industries__.export")

Yes, steps 1+2 can be combined: afci_bridge.get.quantum_chip().name

4. Final notes

4.1. Help wanted!

  • If you'are a developer or an experienced player of mentioned overhaul mods, you can help with making more robust integration, set compatible items.
  • Make (or suggest free) better visuals for items and technologies.

4.2. Contacts

If you need more items or anything – feel free to write me in Discord. Note that requests to add new overhaul mods for compatibility will be reviewed depending on the mods' popularity.