Giter Site home page Giter Site logo

pymultibound's Introduction

PyMultibound

Chucklefish Forum Post

Yet another Multibound-ish thing for Starbound. This lets you create and manage Starbound "profiles" letting you easily control what mods and what universe are active at what time. (Basically different saves)

Although it is stable enough that I use it, it is a work in progress and probably has MANY, MANY BUGS. If you find a bug, please report it on the GitHub page.

Note that for now it requires Starbound to be installed through Steam to correctly function. This will hopefully change in the future.

How to Use

Run run.py Requires a recent Python(3) version and PyQt5 (Tested on 3.9 and 3.10)
Packaged executables and/or an install script coming soon:tm:

Note: Currently PyMultibound/cli/* does nothing, will eventually have a command-line interface

Steam Workshop support

PyMultibound supports steam workshop mods as part of profiles, but not in a conventional manner. On profile creation, it optionally scans the currently installed workshop mods, and takes the contents.pak of each mod, renames it to workshop-<name>-<version>.pak and groups it with the manually installed mods. It is then safe to unsubscribe to your subscribed workshop mods; they are now part of the profile and will be loaded when the profile is selected.

More advanced workshop support will be coming soon.

How it Works

PyMultibound creates snapshots of the storage and mods folders of Starbound, and saves them in "profiles" - a directory in the same location as the scripts. It then starts Starbound with a profile-specific sbinit.config that directs Starbound to the profile's files.

Mac/Windows

Although I can only test this on Linux, I've tried to make it support Windows too. If there are any issues when using Windows, please report it as a bug.

I have no way to test on a Mac, and it probably won't work out of the box. Chances are most of paths.py would have to be changed.

Character Appearance Editor

PyMultibound has a feature in which one can make appearance "templates" from pre-existing characters, and apply them to other characters. It works by replacing the content/identity/ section of the .player file with the one from the template. As of now it does not update quest portraits, I may add this later.

Note that this feature is experimental, please make a backup before using it.

Contributing

Check out CONTRIBUTING.md

pymultibound's People

Contributors

thephasecat avatar trainb0y avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

thephasecat

pymultibound's Issues

[FEATURE] Profile Pictures

I think it would be interesting (and cool) if each profile can have a "profile picture" to better identity different profiles. I don't even know if this was possible. This would also require some way to select custom ones saved on the user's computer, which could maybe use a similar UI to #5

Example:
-A Frackin' Universe pfp for a Frackin' Universe profile
-A Starbound logo pfp for a vanilla profile

(can't put the enhancement label but this is an enhancement in my mind)

[BUG] App closes upon creating profile

Describe the bug
When I create a new profile, the app completely closes. Upon opening the app and selecting this new profile, it does nothing

To Reproduce

  1. Open gui.py
  2. Create new profile (crashes)
  3. Attempt to run Starbound via the gui

Expected behavior
A profile should be created with no crashes, and it should correctly open Starbound upon clicking

Other Information:

  • OS: Windows 10
  • (There are two logs, one is when I create the profile, the other is attempting to run Starbound)
  • Latest Starbound log unavabile because I don't even think the game starts

(i'm pretty sure it's crashing because my Starbound is installed somewhere else and the app doesn't know this, so it's unable to open Starbound)

PyMultibound(log1).log
PyMultibound(log2).log

[FEATURE] Mod Menu

One feature that would be nice to have (idea courtesy of @ThePhaseCat) would be some sort of built-in mod manager/mod browser.

I tried to do this see https://github.com/trainb0y1/PyMultibound/tree/mod-menu but as it needs to unpack every mod .pak file, loading times were > 30 seconds on my current modpack. It isn't worth that for features any ol' file browser could fulfull.

However, I do think it is a good idea, so if anyone has any suggestions as to a way around this waiting time (asynchronous unpacking?) I'd be willing to implement this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.