Telem - Trivial ETL Engine for Minecraft

June 14, 2024 ยท View on GitHub

Build PineStore

Tired of creating complex logic to monitor inventory or production? Want something more modern, modular, and scalable? Want something that can empower a dashboard like the screenshot below? You have come to the right place.

image

Requirements

  • CC: Tweaked recommended, CC: Restitched also supported
  • http access for installer and certain adapters

Install

wget run https://pinestore.cc/d/14

Usage

Please visit telem.cyberbit.dev for full documentation.

local telem = require 'telem'

local backplane = telem.backplane()                  -- setup the fluent interface
  :addInput('hello_in', telem.input.helloWorld(123)) -- add a named input
  :addOutput('hello_out', telem.output.helloWorld()) -- add a named output

-- call a function that reads all inputs and writes all outputs, then waits 3 seconds, repeating indefinitely
backplane:cycleEvery(3)()

-- alternative threadable option
parallel.waitForAny(
  backplane:cycleEvery(3),
  
  function ()
    while true do
      -- listen for events, control your reactor, etc.
      
      -- make sure to yield somewhere in your loop or the backplane will not cycle correctly
      sleep()
    end
  end)

Input Adapters

  • Item and Fluid Storage
  • Modded Storage (AE2, Refined Storage)
  • Modded Machines (Mekanism)
  • Custom Inputs
  • Secure Modem
  • More to come!

Output Adapters

  • Basalt labels and graphs
  • Plotter charts
  • Custom Outputs
  • Secure Modem
  • Grafana (advanced)
  • More to come!