Question How do i make my own Tool?

Discussion in 'General Forum Help' started by Nettle Boy, Feb 20, 2018.

  1. Nettle Boy

    Nettle Boy Sizzling Bacon

    13
     
    BCash: ß 100
    Hi. I'm a starcheat user.

    I've taken a interest in wanting to make my own Tool. But i need to know what everyone is using to make a program that writes directives for custom images. So that i can practice making my own program and try to do the same.

    I have no experince in coding other than editing json for starbound items.

    I hope to hear from everyone soon. Thanks for reading anyway.
     
  2. Silverfeelin

    Silverfeelin Crispy Bacon Modder

    20
     
    BCash: ß 1,080
    Depends on what you're trying to do, and who you're trying to make it for.

    I write most of my tools in C# using Visual Studio Community. The Bitmap class works really well for working with images, and rendering upscaled versions of sprites worked better for me than in other languages such as Java. The downside of C# is that it doesn't natively support other platforms than Windows.
    JSON support is not there out of the box, but the Newtonsoft.Json library is very mature and is openly licensed.

    For directives JavaScript seems like a bad idea, unless you can find a library that reads raw image data. The solutions where you draw the image on a canvas first can lead to small variations in the color codes, giving you wrong hex colors.
    I haven't worked with Electron but it allows you to write cross platform desktop apps in JavaScript, and it seems to offer an image class that does allow you to fetch raw image data (https://github.com/electron/electron/blob/master/docs/api/native-image.md).
    Since JSON comes straight from JavaScript, it's a given that working with JSON works well here.

    Java can work, especially if you're not trying to render upscaled versions of sprites (although that may be easier now than when I tried it, and it definitely won't be impossible). Java seems to have built in support for JSON, so there's no need to find a library to start creating JSON objects.
     
    Last edited: Feb 23, 2018
    Nettle Boy likes this.
  3. Nettle Boy

    Nettle Boy Sizzling Bacon

    13
     
    BCash: ß 100
    Well i'm trying to make this for myself.
    I want to make my own little programs that can perform actions to help me solve problems, like Degrannon's colorfinder but different, so that i don't have to go asking for favors from everyone, just because i can't make my own programs (for all things colour and directive related in Starbound).
    Another thing i want to do is make my own version of the Outfit Generator from scratch, but if it's going to conflict with something, i can forget about doing this.
     
    Last edited: Feb 24, 2018
  4. Silverfeelin

    Silverfeelin Crispy Bacon Modder

    20
     
    BCash: ß 1,080
    Put some languages side by side and see which one makes most sense to you. If you're just going to make small tools for yourself it doesn't really matter what you use, and you're best off choosing a language that you can get used to.

    I personally prefer C# because the syntax makes most sense to me, it has some useful features over Java such as delegates and async, and Visual Studio (Community) is my preferred IDE because everything just works (.. most of the time).
    If you are planning on writing in C#, here's a guide on how to add libraries (packages). You'll most likely want Newtonsoft.Json.
    https://docs.microsoft.com/en-us/nuget/quickstart/install-and-use-a-package-in-visual-studio

    If you want to mod in Lua, you might want to choose JavaScript because the way of working with that language feels more similar to Lua than object oriented languages such as C# of Java. Like I said before, working with images in JavaScript is most likely going to take you more effort than in other languages.

    Here's some Hello World guides:

    C#
    https://docs.microsoft.com/en-us/do...side-a-program/hello-world-your-first-program

    Java (IntelliJ Idea)
    https://www.jetbrains.com/help/idea/creating-running-and-packaging-your-first-java-application.html

    JavaScript
    https://javascript.info/hello-world
     
    Nettle Boy likes this.
  5. Nettle Boy

    Nettle Boy Sizzling Bacon

    13
     
    BCash: ß 100
    Ok thanks Silverfeelin. I'll have a look at them.
     
Loading...

Share This Page

Loading...