Tutorial Invisible Objects

Discussion in 'Starbound Modding' started by seancruz, Dec 31, 2013.

  1. seancruz

    seancruz Big Damn Hero

    Hi guys, I am new to modding, don't know anything regarding programming, etc. YET, I am able to make starbound mods which is awesome; Chucklefish did an awesome job making it modder-friendly.

    Anyways, I've made several objects for my mod and nearly every time, my object ends up being invisible. Crafting goes well, the icons shows, everything's good. But when I go to place the object down, it's invisible. I've looked everywhere on the forums and online for solutions, but people have had very few suggestions. These are some of the workarounds I've done. Sometimes they work, sometimes they don't. So many things can cause an object to be invisible.

    Problems with invisible objects:
    1. A comma may be missing in any of the associated files. This includes the .frames, .object, and .recipe files. Likewise, there may be an extra comma where there's supposed to be none. This may happen if you delete a line with no comma, but forgot to erase the comma on the previous line.

    2. Sometimes, you may misspell the "ObjectName", the "InventoryIcon" png file name, and the "dualImage" png file name. Make sure the file names match the icon.png names, or any other image files or names associated with the object you're trying to create. Same for .recipe files. It's happened to me numerous times, where an item name ends in an 's', and I'll forget to put that 's' elsewhere.

    3. In your .frame file, there is a "dimension" command. Make sure it's correct. If you're making an animated object with frames on a horizontal orientation, then x in [x, 1] is the number of frames going from left to right. If it's vertical you switch it: [1, x].

    4. In your .frame file there is a "size" command. Make sure that it reflects the proper size in pixels. For example, a frame or png image that is 12px high, and 8px wide would be [8, 12]. It's [width, height], thanks Nightmares for clearing this up!

    5. If your object does not have multiple color variations, then maybe you should take out the <color> from the .object file. This sometimes works.

    6. If your object does not have multiple frames or animations, then you should take out the <frame> from the .object file. Make sure to remove the : from "object.png:<frame>",. Leaving the : will cause it stay invisible.

    There might be more solutions who knows. If you know of a workaround, feel free to share. I hope this helps people like me who've no clue how to program xD
    Last edited: Jan 2, 2014
    The | Suit, krail and Dr_Tolley like this.
  2. Nightmares

    Nightmares Scruffy Nerf-Herder

    #4 you got the numbers right but it's [width, height]. Think of it as plotting a point on a graph, they're always (x,y) x-width, y-height. Aside from that, you've got some pretty good advice.
  3. seancruz

    seancruz Big Damn Hero

    Thanks! I've corrected it.
  4. Dr. Toros

    Dr. Toros Existential Complex

    You forgot to mention to check starbound.log immediately after a crash, freeze, or really any problem.

    It'll tell you exactly where your problem is in many cases. Missing commas, invalid paths, lua problems, etc.
  5. Kyrosiris

    Kyrosiris Scruffy Nerf-Herder

    Also, parse your JSON through any one of the many parsers/linters out there (my preferred being http://jsonlint.com/).
  6. Dr. Toros

    Dr. Toros Existential Complex

    I actually use two that one and the french one.

    Sometimes one can more specificially point out an error, and each have advantages.

    Jsonlint formats the code beautifully for pasting back into the gamefiles, and the french one lets you collapse blocks of text to reduce clutter (very helpful for things like .animation files)
  7. seancruz

    seancruz Big Damn Hero

    Hey guys, yea I was thinking of putting to check your starbound.log but I'm not sure what to look for. I've used it many times, and I guess one should look for the "errors: " right?

    Even then, I often found nothing, or the errors stated had nothing to do with the actual problem once I solved it. So I'm not exactly sure how to read the log. Any hints?
  8. Nightmares

    Nightmares Scruffy Nerf-Herder

    Warning's too can be helpful. They can all be a little cryptic sometimes
  9. JesseKomm

    JesseKomm Void-Bound Voyager

    I have been having this problem all day, I've looked all over the code, found nothing out of the ordinary. My object has an animation which I have carefully compared to other objects and see no relative flaw, however when I removed this animation the image did appear in-game. My most latest attempt is loosely based off the codework for the Robotic Crafting Table, both in the .object and the .frame, they are nearly identical save for name changes and image size(And frames count) yet my animated version of the object simply does not work. Anybody have any thoughts as to what may be causing this issue? Also I have not gotten a crash despite the missing image.

    [EDIT] Never mind, I figured it out; not sure what I did, but I sure showed that code who is the boss!
    Last edited: Jan 5, 2014
  10. seancruz

    seancruz Big Damn Hero

    Most likely it had to do with the way you input the height and width in "size". Glad you got it resolved though.
  11. ArmoredBound

    ArmoredBound Void-Bound Voyager

  12. seancruz

    seancruz Big Damn Hero

    In your player.config, you do not have listed the name of your object, starboundtable1.

    You're also missing the ice gun from player.config.
  13. ArmoredBound

    ArmoredBound Void-Bound Voyager

    when you get the recipe sheet it gives you the recipes, but after awhile trying to a fix another bug that makes the gun crash when shot, the game crashes, now i cant even craft it in the new (invisible) crafting table. idk why. but im still trying to work out how to make it visible.
  14. seancruz

    seancruz Big Damn Hero

    I redownloaded your mod, the player.config is still missing starboundtable1. If you don't have that there it won't appear.

Share This Page