Tool Custom Crafting Station Tool [MP-Friendly]

Discussion in 'Starbound Modding' started by Errors4l, Oct 4, 2015.

  1. Errors4l

    Errors4l Spaceman Spiff

    Oudated, most likely. Not planning to update this any time soon, most likely.

    Requires .NET Framework 4.5 to run (4.0 might work, but hasn't been tested)!
    Doesn't require StarCheat, but it makes using the tool a lot easier: http://starcheat.org/

    This tool allows users to easily create customized crafting stations that work on unmodded servers. The exported file can be added to the game through tools such as StarCheat.

    [​IMG]
    Features include:
    • Modifying the interface:
      • Title, subtitle, icon and back color.
    • Modifying the object parameters:
      • Type, name, inspect description and directives.
    • Modifying the inventory icon of the object.
    • Modifying custom filters:
      • Icon, config name.
    • Adding items to filters:
      • By item name, StarCheat export or a JSON table with StarCheat exports.
    • Exporting a JSON file for a crafting station with the given details.
    [​IMG] [​IMG] [​IMG][​IMG] [​IMG]


    Download: http://www.mediafire.com/download/wfnws2bf9e486wd/CCS31100214.zip
    The experimental version has an icon picker interface, which allows you to select existing icons from your unpacked assets or a custom one. I haven't been able to find any issues myself, but please let me know if you run into any!

    All files must be unpacked in the same directory. Removing resources will prevent the application from running properly.
     
    Last edited: Aug 31, 2016
    DoomFire and lazarus78 like this.
  2. lazarus78

    lazarus78 The Waste of Time

    Well... this will make some things a hell of a lot easier...
     
    Errors4l likes this.
  3. Errors4l

    Errors4l Spaceman Spiff

    Update:
    • You can now select any crafting station by filling in the path to both the object and windowconfig file on your computer (using unpacked assets). The 'paneLayoutOverride' parameter from the object file will be merged with the config before applying your given parameters, to ensure the interface reflects (a modified version of) the original interface for the chosen object.
      • If you don't know what config file to use, open your object file and look for the "config" parameter.
    • Interface changed ever so slightly (mostly repositioned the controls to the right of the preview).
    • Resources are now embedded in the executable; only the executable and Newtonsoft.Json.dll have to be unpacked (in the same folder) for the application to run.
     
    lazarus78 likes this.
  4. lazarus78

    lazarus78 The Waste of Time

    Any plans for other "GUI" based creation tools? Having something to make like a storage interface would be extremely helpful.
     
  5. Errors4l

    Errors4l Spaceman Spiff

    As far as I can tell the uiConfig parameter (used by containers) only accepts strings containing the path to the config file to be used by the container. What this means is that you can at most tell the container to use a custom script in which you put customized settings, which in turn break the MP-friendliness.

    It works for crafting stations as you can put the entire config under the 'config' parameter, but for the containers it causes the error "Cannot convert from object to string". There may be a workaround I'm unaware of, but (for now) I can't do something like that.
     
    lazarus78 likes this.
  6. lazarus78

    lazarus78 The Waste of Time

    I wasn't really considering the multiplayer friendliness aspect. Its just tools to aid in the creation of anything in a visual manner make content creation much easier. Interfaces are just a little confusing given the typically long config files they require.
     
  7. Errors4l

    Errors4l Spaceman Spiff

    As someone who only plays on servers, I prefer to stick to tools that output items, objects, code and what not that can't negatively impact servers (other than having to render a texture or two more).

    Having that said, I probably would've made a program that lets you move around or change interface items if I could figure out how they're positioned.
    For example; the amount of pixels on the left and below the bottom left corner of the close button match the position of the close button: "position" : [321, 263]. This would make showing the position (and updating it) very easy.
    However, the windowtitle which contains the interface icon are completely off by calculating it's position with this same rule, as seen in the images below.
    [​IMG][​IMG]
     
  8. lazarus78

    lazarus78 The Waste of Time

    Yeah, some of the alignment values are wonky. Im still trying to figure out how they do it for planets on the navigation window so I can move them around.


    Also, I think your program may have a bug. When I try to set an icon for the catagory buttons, it says they must be 16x16, yet the vanilla ones are 18x18, so I cant use them.
     
  9. Errors4l

    Errors4l Spaceman Spiff

    This is not a bug. If you look at the code, you'll actually see the asset 'signplaceholder' is being used rather than the one you selected. This allows any custom icon (16x16) to be used, and will even appear for other players that access the crafting station.
    As the signplaceholder asset is 8 pixels tall, I'm stacking two on top of them to form an image that's 16 pixels tall (the size limitation). Adding a third for two pixels is possible, but shouldn't be necessary since the border of the icon is separated from the custom category icon.
    Furthermore, the custom icon is rendered on top of the border, meaning 18x18 sprites would overlay the border entirely, making it impossible to see whether the category is selected or not (unless the icon has transparent pixels at the borders).

    I know editing the image to match the size limitation is impractical, so if you want to use existing filters editing the output without selecting a custom icon is probably your best option. CTRL+F or look for the following (using your category name), and change the baseImage and baseImageChecked path to the one for your icon.
    [​IMG]
    I've noted down the possibility to choose an existing 18x18 asset OR a custom 16x16 image, but don't expect it to be included in the application for at least a couple of days, if not longer.

    In this top image, you'll see the original 'itemselected' asset. In the image below that, the border is removed. Notice that the one without the border is 16x16 pixels, which can be used.
    [​IMG]
     
  10. Errors4l

    Errors4l Spaceman Spiff

    Experimenting a bit with an icon picker (accepting existing icons from unpacked assets, custom icons or a combination of both):
    [​IMG]
     
    The | Suit likes this.
  11. Errors4l

    Errors4l Spaceman Spiff

    Update:
    • Added an icon picker interface
      • You can now select an existing (18x18) icon for the unselected and/or selected stage of a category from unpacked assets, or browse your computer and select a custom (16x16) icon. Unlike my previous post stated, you can't combine custom icons with existing ones (for the same category!).
    Please let me know if you run into any issues!
    Download link located at bottom of original post (Experimental version).
    [​IMG]
     
  12. LemonLeman

    LemonLeman Scruffy Nerf-Herder

    When I press the "Add Item(s)" or "Edit Item" (even when an item is selected), the program crashes. I can still drag starcheat's .json files in, but I can't edit them after. I've used both the stable and experimental versions of the exe but nothing works. Is there something I'm doing wrong?
    (32 bit windows 8 if that makes a difference)
     
  13. Errors4l

    Errors4l Spaceman Spiff

    Make sure both the executable as well as the dll file are extracted to the same folder before running the application. If this is the case, try this build and see if the problem is resolved: http://www.mediafire.com/download/fbc7c8vca5z6o9o/CCS27102051.zip
    It may have been an issue with a relative resource path.
     
  14. LemonLeman

    LemonLeman Scruffy Nerf-Herder

    Thanks, the program doesn't crash anymore. :)
     
  15. Your Buddy Bill

    Your Buddy Bill Existential Complex

    I applaud your cleverness.
     
    Errors4l likes this.
  16. Errors4l

    Errors4l Spaceman Spiff

    Update:

    Details of the crafting station can be saved to a file on your computer by selecting 'Save Settings'. The details can be restored by locating the file after selecting 'Load Settings'.
    Please note that the settings have to be saved manually. You can not restore your details if you close the application before saving.
     
  17. KeijiMaeda13

    KeijiMaeda13 Big Damn Hero

    Is there any way to just add /everything/?
     
  18. Errors4l

    Errors4l Spaceman Spiff

    Sorry? Are you referring to something already taken care of by any of these mods (have not checked if any other than the first are up to date)?
    http://community.playstarbound.com/resources/spawnable-item-pack-spawn-all-items-for-free.515/
    http://community.playstarbound.com/resources/creative-mode.3101/
    http://community.playstarbound.com/resources/renos-item-pack.3096/
    http://community.playstarbound.com/...iplayer-friendly-building-tool-outdated.1978/
     
  19. Ebvert

    Ebvert Void-Bound Voyager

    Excelent tool, sadly it's a bit outdated, any posibilities for it to come back with the current crafting GUI the game has?
     
  20. Errors4l

    Errors4l Spaceman Spiff

    I can't guarantee it, but I'll definitely note it down! I'm currently on holiday, so I can't look into it right now.
     

Share This Page