roridev / next

roridev project descriptions (idealisms)
0 stars 0 forks source link

ferium-gui #10

Open roridev opened 1 year ago

roridev commented 1 year ago

A gui for libium*, cause ferium is the CLI.

Likely written in rust

note: nothing on this page is related to the unofficial quilt community launcher project (from now hereby called "unnamed launcher project":tm: Helix won :partying_face: ). this is a personal thing, and, while i also work on the HelixLauncher this idea of a libium gui frontent predates it (as seen by the issue creation date). this may stop being a "libium frontend" and just become a libhelix frontend as helix develops.

This project may also just become a part of helix on its entirety and be closed cause "helix does that already lmao"

Features of this thing and projects that already do that

Tf are layers

Crazy shower thought i had that works like layers in image/video editing software.
You'd have a base modpack, and from that you add layers that can add/remove mods.
Layers will be updated first without needing an oficial update from the modpack authors, since they're local to the machine.
Once a modpack updates, your layer will be checked for conflicts in case the modpack author added a mod that depends on a mod you removed and you'd be promted if you want to add that conflicting mod and its dependencies or not.
In that sense, you'd be able to mess with your modpack as much as you want, and be able to easily revert to the official one in case you broke something.

Stylesheet

https://www.figma.com/file/cYJhfiWiW6W0PWx1aWTyr0/

roridev commented 1 year ago

Base modpack.umf.toml format

# Universal Modpack Format 
[meta]
# The base modpack format
# Valid values:
# modrinth - modrinth's .mrpack
# curseforge - curseforge's manifest.json
# packwiz - packwiz's own format (default)
base-format = "modrinth:1.0"
hash = ""

[modrinth]
id = "cEfTr5WJ"
side = ["client"]

[modrinth.meta]
hash = ""
download-id = ""
version = ""

[versions]
quilt = ""
minecraft = ""

[[layers]]
hash = ""
file = ""
enabled = true
roridev commented 1 year ago

Base name.layer.toml format

# Layer Format
[meta]
name = ""
author = ""
# Optional array. Used for resolving mods
supported-versions = ["1.19","1.19.1"] 

[[files]]
# Uses the same format as packwiz metadata files
file = "mod.pw.toml"
hash = ""
metafile = true

[[files]]
file = "mod.jar"
hash = ""
metafile = false

# Mods that were manually removed on this layer
[[removed]]
file = "mod.jar"
hash = ""
metafile = false