-
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Projects
Implementation for the different Projects that will be added/managed with Project Shattered.
These Projects will be the collection of information required to upload files to both CurseForge and Modrinth.
Current implementation Idea
interface Project {
id: string;
profile: {
name: string;
logo: string;
};
upload: {
cf?: {
id: number;
relations: {
<mod_loader>: [
{
id: number;
type:
| 'embeddedLibrary'
| 'incompatible'
| 'optionalDependency'
| 'requiredDependency'
| 'tool';
}
];
};
};
mr?: {
id: string;
relations: {
<mod_loader>: [
{
id: string;
version_id?: string;
type:
| 'required'
| 'optional'
| 'incompatible'
| 'embedded';
}
];
};
};
};
format: {
file?: string;
title?: string;
changelog?: string;
version?: string;
};
}
Creating.
- Input a CF and/or MR Upload ID.
- At least 1 Upload ID is required to continue.
- Validate permissions of the Upload ID Projects (if the API Key has permission to upload).
- Project Profile editor.
- Pull from the Site(s) for starting Profile settings.
- If both Upload IDs are present, option to select from which (site's) data to use.
- Project Relations editor.
- Pull from CurseForge's default relations.
- Enable/Disable which Mod-Loaders will have default relations.
- Add/Remove IDs to each Site and Mod-Loader for the Project's default relations.
- Project Format editor.
- File // how the data from the File is split. How it will get the version of the File.
- e.g.
{mod_id}-{version}+{minecraft_version}-{mod_loader}
- e.g.
- Title // Title format for the uploading Version(s)
- e.g.
{name} {version} + {minecraft_version} {mod_loader}
- e.g.
- Changelog // Changelog format for the uploading Version(s)
- e.g.
## {name} {version}\n### Added / Fixes\n\n\n***\n\n{banner}
- e.g.
- Version (MR) // Version format for the uploading Version(s)
- e.g.
{version}+{minecraft_version}-{mod_loader}
- e.g.
- File // how the data from the File is split. How it will get the version of the File.
- Review & Confirm.
- Review the different settings the Project has. Show data of the Profile, available Upload IDs, and Formats.
- Randomly generate the Project ID (similar to like MR).
Editing
- The editing page will be very similar to creating, with a similar layout to change the different settings of a Project.
Merging
- Any Project with only 1 Upload ID can be merged with another with the other Upload ID.
- Select which Project (site) Profile settings to use for the Merged Project.
Splitting
- Any Project can be split into 2 new Projects, each with 1 of the Upload IDs respectively.
- The 2 new split Projects will be given a new ID, and the original Project will be deleted.
Deleting
- Remove a Project and all it's data.
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Todo