Skip to content

Swedz/MI-Tweaks

Repository files navigation

MI Tweaks

This mod is an addon for Modern Industrialization that adds some configurable tweaks to existing mechanics. This addon is designed specifically for modpack creators to further customize the MI experience in their pack. All tweaks are disabled by default.

For any questions, please ask in the #mi-tweaks channel on my discord.

Flux Transformer

This block takes in EU (MI energy) of a configurable voltage (HV by default), stores it internally (204.8k EU by default), and converts it to FE (Forge energy, common energy used by many other mods) at a configurable rate (1:1 by default) when extracted. There is also a config option to limit the FE extract rate (2^63-1 by default).

Note that there are 2 separate recipes for the Flux Transformer. One is the standard recipe that uses a FE Cable (#c:fe_cables) (recipe id is mi_tweaks:flux_transformer), and the other uses the Redstone Battery from MI in its place when no items are in the FE Cables tag (recipe id is mi_tweaks:flux_transformer_fallback). For a list of currently supported cables in the FE Cables tag, see this file. If there are any cables that you think should be added to this tag, let me know and I can add them - or you can add them yourself for your pack.

Extra Recipe Conditions

There are some extra recipe conditions added to allow for further customization of progression.

Recipe process conditions can be included in any recipe type that is a MachineRecipeType. Recipe conditions can be added to a recipe's json in an array with the key process_conditions.

EBF Coil

This process condition allows you to define a coil required for the recipe. This is distinct from MI's builtin method of doing this which uses EU/t cost, as it allows you to arbitrarily require a different tier than the EU/t cost.

{
    "type": "mi_tweaks:ebf_coil",
    "coil": "modern_industrialization:kanthal_coil"
}

Voltage

This process condition makes it so that the machine must have a certain hull (or higher) provided to it in order to run the recipe.

When using this recipe condition, it is recommended to enable display_machine_voltage in the config.

{
    "type": "mi_tweaks:voltage",
    "voltage": "hv"
}

Voltage Integration

MI does not have much of a focus on voltage tiers of machines. By default, the voltage of a machine purely allows it to accept power from higher tiers of cables. MI Tweaks provides multiple options to change this (voltage recipe condition & voltage based machine speed).

For ease of use, there is a config option to have a machine display its voltage in its UI. The voltage of a machine is determined by the hull placed in its machine hull slot.

Efficiency Behavior

MI Tweaks provides some configuration options for altering how efficiency in electric machines works. There are three different modes to choose from:

  • DISABLED : No changes will be made to the efficiency behavior of machines
  • ALWAYS_BASE : Machines will always run at the base machine EU or the base recipe EU if it's larger plus the EU provided by upgrades
  • ALWAYS_MAX : Machines will always run at max efficiency
  • USE_VOLTAGE : Machines will run at a constant speed determined by its voltage

Not only can you change the behavior of efficiency, but there is also a config option for hiding the efficiency bar and information in machine UIs.

Machine Blueprints

For the modpack creators who want to seamlessly implement a requirement to making machines other than the items themselves (for example, a research system of sorts), MI Tweaks provides Machine Blueprints. MI Tweaks does not provide any method of obtaining blueprints in survival mode, so it is left entirely up to modpack creators to implement.

A machine blueprint can be used to view the shape of multiblocks for the machine it is for when held similarly to how a wrench works by default. Additionally, blueprints can be used to build multiblocks. By right clicking a multiblock controller with its respective blueprint, it will take the blocks from your inventory and place them for you.

The machine_blueprints config section provides quite a few options to customize how blueprints are required. By default, no machines require blueprints. The config provides options to prevent the placing of machines without the proper blueprint for said machine. There is no option to prevent crafting because there are too many ways to cover with this (there are blocks from mods and even vanilla in 1.21 that will craft items for you, which would not be able to be prevented without causing a mess).

Other Tweaks

  • Water Pumps require ocean/river biome
  • Lock efficiency of crafting machines with redstone control module
  • Disable wrenches from rendering multiblock shapes (this is only logical when machine blueprints have been properly implemented)
  • Include current energy consumption in the energy bar tooltip (this is only logical when machine efficiency is hidden)