138 Commits

Author SHA1 Message Date
comp500
4503e905d7 Reformat, force line endings to LF for Go files 2024-08-28 18:14:00 +01:00
JaegyuDev
9889b48b0d
Add --side argument to filter list command (#256)
* added list command filter by side

* changed error logging for --side flags

* removed len checks on side flags

* removed comments previous commit made useless
2023-09-16 17:26:10 +01:00
comp500
b451a9b034 Support Quilt in CurseForge pack export (fixes #252) 2023-08-28 12:41:48 +01:00
comp500
4c23e264b0 Clean up code, filter version numbers for NeoForge as well as Forge
NeoForge doesn't seem to have an update checker JSON yet, so we can't determine
the recommended version
2023-07-30 15:09:18 +01:00
comp500
234f927be9 Support NeoForge as a loader (compatible with Forge mods)
TODO: implement support in migrate command
2023-07-30 14:56:11 +01:00
comp500
9c856e3d54 Fix crash with new CurseForge metadata (added NeoForge) 2023-07-30 14:56:11 +01:00
comp500
cbd38b3b73 CF: Treat versions with no loader as equal in loader comparison 2023-05-31 16:08:10 +01:00
comp500
7b380f23df Add support for legacy.curseforge.com URLs 2023-05-31 15:22:00 +01:00
comp500
2b878f5e28 Clean up misleading help message for cf import 2023-05-30 17:49:15 +01:00
comp500
4fb1f1b59d Index fixes and performance improvements (fixes #223, #224)
- Fixed creation of duplicate index entries when importing from CurseForge (fixes #224)
- Automatically remove duplicates in index
- Fixed `packwiz serve` with a custom `--pack-root` argument (fixes #223)
- Fixed `packwiz serve` with a custom index.toml location
- Cleaned up internal serving code, added comments and better errors
- Refactored path handling code
- Improved refreshing/exporting performance
- Factored out duplicated exporting logic
- Replaced GetAllMods calls with cleaner LoadAllMods calls and made the former private
- Improved variable names in update command
- Improved handling of aliassed files
- Changed CheckUpdate to take references to metadata
- Removed the ability to use an absolute path to the index file (that probably didn't work anyway)
- Behaviour change: order of entries in exported files may be random
2023-05-29 23:15:55 +01:00
comp500
21876cba1e Fix CurseForge file loader/ID comparison
(unsigned arithmetic moment)
2023-04-26 03:17:29 +01:00
comp500
7de26ec5c3 Allow "updating" CurseForge files to older versions 2023-04-15 02:23:52 +01:00
comp500
e966eaffc0 Manually replace FLK deps with QKL when using Quilt >=1.19.2 (fixes #212) 2023-04-13 17:12:44 +01:00
comp500
bd71ad5679 Manually replace FAPI deps with QFAPI/QSL when using Quilt (fixes #212) 2023-04-13 16:45:10 +01:00
Matt Artist
a344ba11ba
Add a command for changing the acceptable versions (#206)
* feat: add packwiz settings command to allow for changing acceptable versions

* Add deduping on the list

* Fix typo in comment

* Detect out of order list and give the user an option to correct it

* Support adding and removing specific versions

* Ensure the options aren't nil

* Clean up the slice removal boilerplate

* Fix usage of slices.Delete
2023-04-08 19:00:40 +01:00
comp500
abf701560d Fix crash creating Modrinth packs with multiple files from the same CF project (fixes #197) 2023-03-11 00:09:26 +00:00
comp500
aeae76a569 Linter fixes (error handling, unused constants, raw strings) 2023-03-10 17:06:48 +00:00
comp500
42d8370d0c Latest version fixes: correctly order preferences (fixes #198)
Both CurseForge and Modrinth preferences were not being done in a specific order - so
a file with a newer Minecraft version would not necessarily take priority over a file
with a more preferred loader (e.g. Quilt over Fabric) or a file with a newer release
date / CurseForge ID.
Also fixed a loop variable reference in the CurseForge loop, which caused eagerly resolved
(included in API response) file info to be inconsistent with the chosen version, and
added filtering for duplicate values in the acceptable-game-versions/primary version list
to ensure game versions are always compared properly (so the same index == same version).
2023-03-10 16:35:34 +00:00
comp500
4b336e46e2 Prefer Quilt files to Fabric files from CurseForge (fixes #128) 2023-02-18 00:14:44 +00:00
comp500
d38d279d98 Prefer game versions according to acceptable versions list (fixes #181)
The acceptable versions list should now be specified in order of preference, where the last version is the most preferable Minecraft version
2023-02-14 16:10:06 +00:00
Matt Artist
00c142c6ca
Add Curseforge's beta site to regex (#190) 2023-01-28 20:11:29 +00:00
comp500
672d22d0dd Fix deprecated uses of ioutil 2023-01-20 18:43:46 +00:00
comp500
79d3ed3957 Reword "mod"/"addon"/"install" to clearer terms across all commands (fixes #138) 2023-01-20 18:39:23 +00:00
comp500
94a74676c8 CurseForge: remove invalid comment 2023-01-17 04:53:39 +00:00
comp500
4f6528dcb5 Fix Modrinth exports of external files with omitted side field 2022-10-30 04:52:09 +00:00
comp500
11671421ac -y/--yes flag for non-interactive mode (fixes #46)
Also makes Modrinth auto-accept search results with only 1 result, to be
consistent with CurseForge.
2022-08-25 04:47:18 +01:00
comp500
503232a3fa Implement dependency support for Modrinth (fixes #56) 2022-08-25 03:48:34 +01:00
Falxie_
89f189256e
fix: map modinfos by id (#152)
* fix: map modinfos by id

* chore: undo autoformat

* chore: restore formatting
2022-08-23 17:04:09 +01:00
comp500
f79de590d9 Batch metadata retrieval in CF detection (fixes #151) 2022-08-23 03:26:14 +01:00
comp500
044c34e07c Move to go-modrinth lib (v2 API) and always supply UA in HTTP requests 2022-08-02 02:53:31 +01:00
comp500
d5290ebd32 Eradicate variable-size integer types where not used by interface or as index (fixes #107) 2022-06-16 21:32:15 +01:00
comp500
f533e677ca Merge duplicate getLoaders methods into single core method 2022-06-08 22:34:50 +01:00
comp500
d34728f347 Add support for CF files marked with Quilt (fixes #127) 2022-06-05 04:39:51 +01:00
comp500
e71b63ea98 Check if download URL is null instead of allowModDistribution; fixes issue with null values for latter 2022-05-23 01:39:07 +01:00
comp500
dae133b73c Completed download implementation for Modrinth export 2022-05-21 05:00:21 +01:00
comp500
f3837af145 Completed download implementation for CF export
Added support for importing manual files and rehashing where necessary
Moved cache folder to "local" user folder
Cleaned up messages, saved index after importing
2022-05-21 03:40:00 +01:00
comp500
55f0e4a297 WIP: misc fixes, start updating CF/MR export to use download system 2022-05-20 18:13:43 +01:00
comp500
e73fa8c48a Continued work on download system (cache + cf meta now implemented) 2022-05-18 22:11:28 +01:00
comp500
30bc6d81bb WIP caching system for Modrinth/CurseForge pack export 2022-05-18 16:02:40 +01:00
comp500
0f3096e251 Use the correct directories for non-mod files; use .pw.toml extension
The mods-folder option is now replaced with two new options: meta-folder and meta-folder-base
This allows non-mod files to use the correct directory based on their category; with correct
import of resource packs/etc from CurseForge packs, and the ability to override this behaviour.
To improve the reliability of packwiz metadata file marking (in the index), new files now use .pw.toml
as the extension - any extension can be used, but .pw.toml will now be automatically be
marked as a metafile regardless of folder, so you can easily move metadata files around.
Existing metadata files will still work (as metafile = true is set in the index); though in
the future .pw.toml may be required.
2022-05-16 21:06:10 +01:00
comp500
d73c7e809b Reworked install command to use new slug lookup API, and support any game/category
New --category and --game flags allow using categories other than Minecraft mods (also parsed from URLs)
Fixed loader checks to allow a project with no loaders in the version list
Improved error messages and docs
Fixed sending empty mod requests when dependencies were already installed
Slug lookup now defaults to no category, forcing a user to interactively select a project (--category should guarantee no interactivity)
Added project summaries to search results
Fixes #112
2022-05-16 17:09:28 +01:00
comp500
640d4ac046 Update open command to use proper URL 2022-05-16 15:39:53 +01:00
comp500
0c5ff0b7bb Change backend request code to use new CurseForge API (WIP)
See the packwiz Discord for more information, as the changes with the new API Terms and Conditions have some implications for packwiz.
This commit isn't fully functional yet; I have more changes to make.
2022-05-07 18:18:57 +01:00
comp500
d7bfed5cb3 Fix installing without file ID, with no version data in latestfiles 2022-05-03 21:09:41 +01:00
comp500
efb434dadc Fix installing by file ID, allow using --file-id with slug 2022-04-30 21:02:00 +01:00
comp500
e29c3022b3 Improve error messages when unable to find a CF file/addon 2022-04-23 20:09:10 +01:00
comp500
f1eb34d444 Quilt support 2022-04-20 20:58:49 +01:00
comp500
3ab85821e9 Add support for looking up 1.19 snapshot versions on CurseForge 2022-03-29 01:05:12 +01:00
comp500
3fb350f244 Pass through optional-disabled on CF import (fixes #93) 2022-03-07 18:22:29 +00:00
comp500
7c387f6c83 Add --output/-o flags for Modrinth/Curseforge export (fixes #38) 2022-02-27 17:44:44 +00:00