Signal Strings Library


A library for converting between lua strings and virtual signal strings

6 days ago
0.14 - 2.0
4.07K
Owner:
justarandomgeek
Source:
https://github.com/justarandomgeek/fa...
Homepage:
N/A
License:
MIT
Created:
8 years ago
Latest Version:
2.0.1 (6 days ago)
Factorio version:
0.14 - 2.0
Downloaded by:
4.07K users

SignalStrings

This library provides common functions for handling strings on circuit networks. Strings are expressed as a bitmask of where each letter appears, LSB on the left.
"foobar" = {signal-F=1,signal-O=6,signal-B=8,signal-A=16,signal-R=32}

Signals without mappings will fall back to a richtext tag if possible. If quality is enabled, uncommon signals will be used for capital letters. Mods may register additional signal mappings by adding them to data.raw["mod-data"]["signalstrings-mapping"].data ({[string]:SignalID}), using a single utf8 encoded character as the key.

local sigstr = require("__signalstrings__/signalstrings.lua")

-- read a string from signals...
local str = sigstr.signals_to_string(entity.get_signals(defines.wire_connector_id.combinator_input_green))

-- write to a constant combinator...
control.sections[1].filters = sigstr.string_to_logistic_filters("Hello World!")

-- write to a decider...
local p = control.parameters
p.outputs = sigstr.string_to_decider_outputs("Hello World!")
control.parameters = p

-- also back to signals...
local sigs = sigstr.string_to_signals("Hello World!")

-- or customize it...
local Ts = sigstr.string_to_Ts("Hello World!", function (signal, value)
  return "Earl Grey, Hot"
end)