Download (651 KB)

How do I install this?

Adds many new nodes that support doing various things via digilines:
(in no particular order)

  • Player Detector: Reports which players are within a configurable range.
  • Camera: Like the player detector, but can be "aimed" at the ground some distance in front of the node itself. Originally intended for use with traffic signals, but many players have been using them as "security cameras" instead.
  • Magnetic Card Reader/Writer: Allows writing data to and reading data back out from magnetic cards (included).
  • Extra Conductors: Vertical digilines, digimese (connects in all directions), junction box (conducts through one solid node into another junction box)
  • Game Controller: Allows players to control your program using normal movement commands (as in walking, looking around, punching, etc.)
  • I/O Expander: Adds an additional four mesecons I/O ports that can be used as any combination of input or output.
  • Dimmable Light: Can be set to any of 14 light levels (or 15 if "off" counts as one)
  • SRAM: Stores data.
  • EEPROM: Stores data like SRAM, but can be dug and then placed elsewhere without losing it.
  • Piston: Behaves like both mesecons pistons rolled into one, with some extra features - can extend, retract, retract pulling one node, or retract pulling a whole stack of nodes like a movestone.
  • Movestone: It's a stone, that moves. Can move to arbitrary positions (with some restrictions of course). Not real well-tested yet.
  • Noteblock: Can play any sound that a mesecons noteblock can, and several that those can't. Supports pitch and volume control.
  • NIC: Allows fetching (quite small amounts of) data from the Internet/Web (HTTP).
  • Control Panel: Text display and a few buttons rolled into one.
  • Touchscreen: Shows custom UI elements and sends input back to the Luacontroller.
  • Piezo Beeper: It, uh, beeps.
  • Button: Sends a (configurable) message when pressed.
  • Wall Knob: Can be turned to enter a numeric value, goes well with the dimmable lights.
  • Timer: Sends a digilines message after a configurable delay, with optional looping functionality. Uses node timers, so automatically pauses when the mapblock is unloaded and resumes when loaded again.
  • GPU: Contains enough video memory for 8 64x64 buffers, can draw (very) simple shapes and text on them, can load images into them from a Luacontroller, contains a fully(ish)-featured BitBLT engine for manipulating data and copying it between buffers, and can output the results to rgblightstone panels, digiscreens, or other similar mods using the same data format (nested tables of hex colors).
  • Heatsink: Does absolutely nothing except look kinda neat. Fits most ICs and can also be placed on normal nodes.
  • Channel Copier: Makes it easier to copy digilines channels between nodes. Supports items from this mod and a few others.

Documentation for most of these nodes is available in the "docs" directory.

Reviews

Review

Do you recommend this mod?

  • Very Useful Mod

    I really love this mod, it adds so much cool stuff to the game.

    I like to use the digipistons since they allow me to make compact piston extenders.

    The documentation for all nodes is a bit bad, so here is my proposal for documentation about touchscreen:

    How to use the digistuff touchscreens:

    You can send a command as a table. The options you have are as follows:

    • {command="clear"}
    • {command="addlabel",X=1,Y=1,H=1,name="label_name",label="Label:"}
    • {command="addfield",X=1,Y=2,W=4,H=1,name="input",label="Enter something"}
    • {command="addbutton",X=1,Y=3,H=1,name="button_name",label="Click Me"}
    • {command="addbutton_exit",X=1,Y=4,W=3,H=1,name="exit",label="Exit"}

    You can also send multiple commands at the same time, just put all of them in a table:

    Once you got your button, you can listen for presses using the event.msg.<YOUR_BUTTON_NAME>. Here is an example:

    if event.channel == "TOUCH_CHANNEL" and event.msg.button_name then
    digiline_send("TOUCH_CHANNEL",{{command="clear"},{command="addlabel",X=1,Y=1,H=1,name="label_name",label="You had clicked the button!"}})
    fi
    if event.type == "program" then
    digiline_send("TOUCH_CHANNEL",{{command="clear"},{command="addlabel",X=1,Y=1,H=1,name="label_name",label="Click the button"},{command="addbutton",X=1,Y=2,H=1,name="button_name",label="Click Me"}})
    end
    

    How to use the digistuff advtouchscreens:

    You can send formspec code to it.

    digiline_send("advtouchscreen1"
          ,  "size[8,4;]label[1,1;Label:]"
          .."field[1,2;4,1;Enter something;${input}]"
          .."button[1,3;2,1;button_name;Click Me]button_exit[1,4;3,1;exit;Exit]"
          )
    
    0 comments
  • Cool stuff, but i dont understand

    theres some pretty cool stuff in this mod but i dont know how to use it. i basically dont know how to digilines :/ how do i set up channels and make cool things with the mod... a little help plz?

    anyone? :<

    0 comments
  • Useful but undocumented

    This mod has some cool items but it seems to have been abandoned and lacks documentation.

    0 comments
  • Useful electronics

    A nice selection of useful electronics

    0 comments
  • Adds Many Nodes

    Adds many useful nodes.
    But... How do I use a GPU with an digiscreen? And how do I use a Touchscreen?

    3 comments
  • Really fun to play with.

    This mod can be realy fun to play with. Some negative points:

    • Documentation is missing for some nodes
    • Some actions seems to fail with no warning (especially with NIC) (fetching)

    Code:

    local url = "https://api.github.com/repos/minetest/minetest/releases/latest"
    if event.type == "program" then
      digiline_send("web", url)
    elseif event.channel == "web" then
      digiline_send("led3", "test")  --never called
    end
    
    4 comments
  • A lot useful mod

    Hey this mod is amazing with so many things in the game and a lot of configurable stuff but just one request to add some sort of guide for coding lua for those who don't know how to code on lua. As I am also a beginner

    0 comments

Used By