Tutorial Creating Custom Drawable Signs in Starbound

Max Bacon

Ultimate Administrator
Nov 29, 2018
The method where you can generate one image in multiple individual signs to form the sign you place on walls is known, here is the method where you can do it in one go as one object. :coffee:

You'll need to use the Hatter for this: https://silverfeelin.github.io/Starbound-Hatter/

oinkpic Here is how:

  1. Input your image on the Hatter like you were creating one custom hat and generate the command line file! You'll end up with a result like this:
    /spawnitem eyepatchhead 1 '{"directives":"?setcolor=ffffff?replace;00000000=ffffff;ffffff00=ffffff?setcolor=ffffff?scalenearest=2?crop=0;0;64;24?blendmult=/objects/outpost/customsign/signplaceholder.png;0;0?replace;...CUSTOMPARAMETERS...","description":"A custom hat created by me!","femaleFrames":"head.png","inventoryIcon":"head.png","itemName":"eyepatchhead","maleFrames":"head.png","mask":"mask.png","maxStack":1,"price":0,"rarity":"common","shortdescription":"^orange;Custom Hat","statusEffects":[],"tooltipKind":"armor"}'

  2. The next thing you'll want to do is to copy ONLY what is inside the directive parameters (it'll be under quotes) and format it as shows:

  3. To fix up the command you'll want to use an object item, we'll use apexpainting2 as it is a painting you can place on walls and you want to rename "directives" to "color":
    /spawnitem apexpainting2 1 '{"color":"DIRECTIVES"}'

  4. Now all that's left is to fix up the scaling, as we're using the item apexpainting2 we'll use its dimensions that are 16x16px. You will now need the original dimensions of the image you are using to be the sign let's assume the image has a Width of 64px and a Height of 24px, you want to divide those by the original asset dimensions of the object you'll be using, the math is as follows:
    > 64:16 = 4 (width of the custom image divided by the width of game object asset)
    > 24:16 = 1,5 (height of the custom image divided by the width of game object asset)

  5. On the directives look for the parameter scalenearest and add the previous results, width followed by height, on this case, it will look like ?scalenearest=4;1.5

  6. Paste that command in-game (with admin enabled) and you'll get your custom image sign popping in once it is placed!