LUIS DAS ARTIMANHAS - Biblioteca Utilitária


Biblioteca utilitária para criação rápida de itens, receitas e outros protótipos Factorio.. local LDA = require('__LDA-LIB__/init') local PATH = LDA.setBasePath('Quantum-Teleporter')

Internal
3 days ago
2.0
144

a utils EnergySource FORUM

9 days ago
(updated 9 days ago)

função adicionada createBaseSource(emissions_per_minute, render_no_power_icon, render_no_network_icon)

returns

{
    emissions_per_minute = emissions_per_minute or nil,
    render_no_power_icon = render_no_power_icon or true,
    render_no_network_icon = render_no_network_icon or true
}
9 days ago
(updated 9 days ago)

Função adicionada createFluidBox(
volume,
filter,
production_type,
pipe_connections,
pipecoverspictures,
-- Parâmetros opcionais para detalhes visuais, limites, etc.
params
)

returns

{
    -- volume (OBRIGATÓRIO, deve ser > 0)
    volume = volume or 100, 
    -- pipe_connections (OBRIGATÓRIO, deve ser um array de PipeConnectionDefinition)
    pipe_connections = pipe_connections or {}, 
    -- filter (Opcional, mas comum)
    -- Define qual fluido é aceito (Ex: "water")
    filter = filter, 
    production_type = production_type or "input-output" ,
    pipe_covers = pipecoverspictures or pipecoverspictures(),
}
6 days ago
(updated 6 days ago)

Função adicionada createPipeConnection(
flow_direction,
direction,
position,
connection_type, -- Permite fácil mudança para "underground" ou "linked"
params)

--- Cria uma PipeConnectionDefinition (conexão de tubo) para uso em FluidBox.
-- @param flow_direction (string, optional) Ex: "input", "output", "input-output". Padrão: "input-output".
-- @param direction (defines.direction, optional) Direção primária (obrigatório para normal/underground). Ex: defines.direction.north.
-- @param position (MapPosition, optional) Posição relativa ao centro da entidade. Ex: {0, 1}.
-- @param connection_type (string, optional) Tipo de conexão. Padrão: "normal". Opções: "normal", "underground", "linked".
-- @param params (table, optional) Parâmetros adicionais (connection_category, max_underground_distance, etc.).
-- @return (table) PipeConnectionDefinition

-- usage
local defines = require("defines")

local connection_entrada = utilsEnergySource.createPipeConnection(
    "input",                            -- flow_direction
    defines.direction.north,            -- direction
    {0, -1}                             -- position (no topo)
)

local connection_saida = utilsEnergySource.createPipeConnection(
    "output",                           -- flow_direction
    defines.direction.south,            -- direction
    {0, 1}                              -- position (em baixo)
)

local minha_fluid_box = utilsEnergySource.createFluidBox(
    1000,                                -- volume
    "steam",                            -- filter
    "input-output",                     -- production_type
    {connection_entrada, connection_saida} -- pipe_connections
)

Função adicionada createBurnerEnergySource(
fuel_inventory_size,
effectivity,
fuel_categories,
emissions_per_minute,
render_no_power_icon,
render_no_network_icon,
params)

--- Cria uma fonte de energia do tipo "burner" (queimador de item).
-- @param fuel_inventory_size (uint32, optional) Slots de inventário de combustível. Padrão: 1.
-- @param effectivity (double, optional) Eficiência do consumo de combustível. Padrão: 1.0.
-- @param fuel_categories (array[string], optional) Categorias de combustível aceitas. Padrão: {"chemical"}.
-- @param emissions_per_minute (dictionary, optional) Poluição por minuto (BaseSource).
-- @param render_no_power_icon (boolean, optional) (BaseSource).
-- @param render_no_network_icon (boolean, optional) (BaseSource).
-- @param params (table, optional) Parâmetros adicionais (smoke, light_flicker, burnt_inventory_size, etc.).
-- @return (table) BurnerEnergySource

6 days ago
(updated 6 days ago)

Função adicionada createElectricEnergySource(
usage_priority,
buffer_capacity,
input_flow_limit,
output_flow_limit,
-- Parâmetros da BaseEnergySource
emissions_per_minute,
render_no_power_icon,
render_no_network_icon,
-- Parâmetros adicionais e opcionais do electric (input_flow_limit, drain, etc.)
params)

--- Cria uma fonte de energia do tipo "electric" (rede elétrica).
-- @param usage_priority (ElectricUsagePriority, optional) Prioridade de uso (e.g., "secondary-input", "tertiary"). Padrão: "secondary-input".
-- @param buffer_capacity (Energy, optional) Capacidade do buffer de energia (e.g., "5MJ").
-- @param input_flow_limit (Energy, optional) Limite de fluxo de entrada (e.g., "300kW"). Padrão: "300kW".
-- @param output_flow_limit (Energy, optional) Limite de fluxo de saída (e.g., "300kW"). Padrão: "300kW".
-- @param emissions_per_minute (dictionary, optional) Poluição por minuto (BaseSource).
-- @param render_no_power_icon (boolean, optional) (BaseSource).
-- @param render_no_network_icon (boolean, optional) (BaseSource).
-- @param params (table, optional) Parâmetros adicionais (drain, etc.).
-- @return (table) ElectricEnergySource

Função adicionada createFluidEnergySource(
fluid_volume,
fluid_connections, -- Array de PipeConnectionDefinition
fluid_filter,
-- Parâmetros Essenciais do FluidEnergySource
effectivity,
burns_fluid,
-- Parâmetros da BaseEnergySource
emissions_per_minute,
render_no_power_icon,
render_no_network_icon,
-- Parâmetros adicionais (inclui os do FluidBox e do EnergySource, como 'smoke')
params)

--- Cria uma fonte de energia do tipo "fluid" (combustível líquido ou vapor).
-- @param fluid_volume (FluidAmount, optional) Volume interno do fluido. Padrão: 100.
-- @param fluid_connections (array[PipeConnectionDefinition], optional) Array de conexões de tubo (use Module.createPipeConnection).
-- @param fluid_filter (FluidID, optional) Filtro de fluido.
-- @param effectivity (double, optional) Eficiência. Padrão: 1.0.
-- @param burns_fluid (boolean, optional) Define se o cálculo de energia é baseado no fuel_value do fluido. Padrão: true.
-- @param emissions_per_minute (dictionary, optional) Poluição por minuto (BaseSource).
-- @param render_no_power_icon (boolean, optional) (BaseSource).
-- @param render_no_network_icon (boolean, optional) (BaseSource).
-- @param params (table, optional) Parâmetros adicionais (smoke, light_flicker, maximum_temperature, production_type, etc.).
-- @return (table) FluidEnergySource

Função adicionada createHeatEnergySource(
max_temperature,
specific_heat,
max_transfer,
default_temperature,
min_working_temperature,
-- Parâmetros da BaseEnergySource
emissions_per_minute,
render_no_power_icon,
render_no_network_icon,
-- Parâmetros adicionais e opcionais do heat (conexões, temperaturas mínimas, visuais)
params)

--- Cria uma fonte de energia do tipo "heat" (energia térmica nuclear).
-- @param max_temperature (double) Temperatura máxima de trabalho. (Obrigatório)
-- @param specific_heat (Energy) Quantidade de energia por grau (capacidade térmica). (Obrigatório)
-- @param max_transfer (Energy) Taxa máxima de transferência de calor. (Obrigatório)
-- @param default_temperature (double, optional) Temperatura ambiente/padrão. Padrão: 15.
-- @param min_working_temperature (double, optional) Temperatura mínima de trabalho. Padrão: 15.
-- @param emissions_per_minute (dictionary, optional) Poluição por minuto (BaseSource).
-- @param render_no_power_icon (boolean, optional) (BaseSource).
-- @param render_no_network_icon (boolean, optional) (BaseSource).
-- @param params (table, optional) Parâmetros adicionais (connections, heat_picture, heat_glow, min_temperature_gradient, etc.).
-- @return (table) HeatEnergySource

Função adicionada createVoidEnergySource(emissions_per_minute, render_no_power_icon, render_no_network_icon, params)

--- Cria uma fonte de energia do tipo "void" (sem consumo/produção de energia).
-- @param emissions_per_minute (dictionary, optional) Poluição por minuto (BaseSource).
-- @param render_no_power_icon (boolean, optional) (BaseSource).
-- @param render_no_network_icon (boolean, optional) (BaseSource).
-- @param params (table, optional) Parâmetros adicionais.
-- @return (table) VoidEnergySource

New response