1. Welcome to the official Starbound Mod repository, Guest! Not sure how to install your mods? Check out the installation guide or check out the modding help thread for more guides.
    Outdated Mods have been moved to their own category! If you update your mod please let a moderator know so we can move it back to the active section.
    Dismiss Notice

Outdated Tech UI Builder 0.1b

Build fully functional menus in techs

  1. PenguinToast
    Tech UI Builder

    Build UIs for your techs. This tool is designed for modders who already have experience with modding techs and scripting for Starbound.


    Tech Builder

    Start by opening an existing tech through the file menu.

    On the left is a tree displaying the groups and components of your tech UI. Here, you can rename, rearrange, add, and delete groups and components. Checking a component shows it, and unchecking it hides it.

    In the center is the preview pane, where you can preview what your tech UI will look like in game. Drag components to move them around, and drag anywhere empty to select multiple components. Drag with the right mouse button to pan the camera. The origin is located at the center of the player character.

    On the right is the properties pane, where you can edit the properties of each component. "Image" is the displayed image for the component, X and Y offsets are the offsets for the image, and z level determines which components are in front (higher = front). "Takes Input" determines whether or not the component is a button. If it takes input, you can enter a function to be called when the mouse enters and exits the component (Hover function) or when the component is clicked (Press Function). These fields can be left empty. Additionally, you can define a custom polygon for non-rectangular components.

    Components that take input will have 3 different states - normal, hover and pressed. Normal is when the mouse is not over the component, hover is when the mouse is over the component, and pressed is when the mouse is pressed over the component. Each state can have individual images, offsets, and shapes.

    Lua Library

    In order to use the tech UI, you MUST copy the lua library from UILibrary.lua to the bottom of your tech script.
    ui.init() must be called in the tech init()
    ui.input(args) must be called with args in the tech input(args)
    ui.update(args) must be called with args in the tech update(args)

    You can obtain groups and components by name with ui.getGroup(name) or ui.getComponent(name)

    ui.switchToGroup(name) hides all groups but the specified group

    Group visibility can be changed with group:setVisible(visible)

    For exampe, to hide the group named "group1", call ui.getGroup("group1"):setVisible(false)
    Component visibility can be changed in the same way.

    For components that take input, there must be functions in your tech script that match the strings set for "Hover Function" and "Pressed Function". The hover function is called with the first argument being true if the component was entered, and false if it was exited. The second argument for the hover function, and the first argument for the pressed function is the name of the component calling the function.

    Example Mod
    An example mod has been included in the PTTechUI folder. The mod adds a tech found in Tabula Rasa which demonstrates some UI stuff.


    No install is required - Just make sure you have the latest version of Java, and run StarboundTechUI.jar.
    For those that are too lazy to update Java and are running Windows, a version of the program packaged with Java is available here:


    This program is still very much in a beta stage - It does not have nearly as many features as I'd like it to have. If you encounter any errors, or have feedback/suggestions, feel free to leave a post the the discussion thread for this program. Any errors should be in error.log

    Feel free to use this to build any of your mods - Just make sure to credit this program and me (PenguinToast) in your mod description.
    Mod Pack Permissions:
    Anyone can use this mod in their mod compilation without the author's consent.
    Mod Assets Permissions:
    Anyone can alter/redistribute the mod's assets without the author's consent.

Recent Reviews

  1. Sethh
    Version: 0.1b
    This is good stuff right here.
  2. Ruffz
    Version: 0.1b
    I'm able to do great things with this, nuff said.
  3. Seterwind
    Version: 0.1b
    For the love of all that is holy, THANK YOU!