Vanilla Loaders

by Kirazy

Adds the vanilla loaders to the game with customizable recipe difficulty. Supports belts added by Bob's Logistics and Ultimate Belts.

Content
3 months ago
0.16 - 2.0
26.9K
Logistics

FAQ

Looking for Krastorio support?

https://mods.factorio.com/mod/vanilla-loaders-hd-krastorio

Adding custom loaders:

For interested mod authors, you can create a vanilla-style loader with your own coloring very easily by setting this mod as a dependency and calling the following function:

local api = require("__vanilla-loaders-hd__.prototypes.api")

---@class LoaderCreationParameters
---@field mask_tint data.Color The color of the loader arrows and explosion particles. An alpha value of 0.82 is suggested for optimal results.
---@field base_tint? data.Color The color of the metal housing of the loader icon and entity sprites.
---@field ingredients? data.FluidIngredientPrototype[]|data.ItemIngredientPrototype[] A custom loader recipe. If omitted, the default recipe will be used.
---@field previous_tier? string The name of the previous tier of loader. Sets the `next_tier` property on the given loader, and to provide an additional ingredient to the default recipe.
---@field next_tier? string The name of the loader that this loader will be upgraded to when used with the Upgrade Planner.
---@field technology? string The name of the technology that unlocks the loader.
---@field heating_energy? string The energy cost of heating the loader. If omitted, defaults to "60kW". Only used if loaded with Factorio: Space Age.

---Creates, or if a loader already exists, reskins, the loader with the given `loader` name and
---associates it with the transport belt prototype with the given `transport_belt` name, for the
---given `parameters`.
---@param name string The name of the loader to be created.
---@param belt_name string The name of the transport belt to be associated with the loader.
---@param parameters LoaderCreationParameters Setup parameters governing the creation of the loader.
api.create_loader(name, belt_name, parameters)

To enable your loader to use the snapping logic in this mod, register your loader with the remote interface in control.lua:

remote.call("vanilla-loaders", "subscribe", [loader_name])