Coder Social home page Coder Social logo

ryanccn / moddermore Goto Github PK

View Code? Open in Web Editor NEW
59.0 2.0 6.0 8.9 MB

Share the mods you use with anyone.

Home Page: https://moddermore.net

License: GNU Affero General Public License v3.0

JavaScript 3.62% TypeScript 91.62% CSS 1.95% MDX 2.81%
curseforge fabric forge javascript minecraft modded-minecraft modrinth nextjs quilt tailwind

moddermore's Introduction

πŸ‘‹ Hello, I'm Ryan!

High school student, open source developer, and privacy enthusiast.

Twitter Fediverse Discord Ko-fi

πŸ–±οΈ Web development

I do some web development in my spare time. I have a website here, and I also made Moddermore, a web app for making Minecraft mod lists that's becoming pretty popular! I'm well versed with technologies such as React, Next.js, Vue, Eleventy, etc.

πŸ‘¨β€πŸ’» Open source

I contribute to a variety of projects everywhere on GitHub, ranging from Minecraft launchers to theme userstyles. It's rather impossible to list them all, but you can see a list of repositories I've contributed to on my website!

Skills

πŸ“ˆ Metrics

the animations might lag your browser a little bit πŸ‘€

moddermore's People

Contributors

aresiel avatar dependabot[bot] avatar github-actions[bot] avatar lporu avatar renovate[bot] avatar ryanccn avatar vgskye avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

moddermore's Issues

Duplicate Modpack Option

Usecase

When managing multiple servers, some mods may no longer work for other versions of minecraft. In this case, simply swapping out only a few of the mods from a modpack is usually enough.
By adding a button next to each Modpack entry to Duplicate / Delete, Easier management of Modpacks will be possible.

Proposal

As written above, add Duplicate and Delete(in red letters) button next to each managed Modpack entry, or only show the two buttons for the modpack that the cursor is currently floating over.

How it should work:

Duplicate Functionality: copies the (meta)data of the selected modpack, and give it a new name with -Copy1 added to the end.
IF a modpack with the same name already exist, instead change the name to -Copy2. If it also exist, repeat incrementing the suffixed number until there isn't one.

The choice of suffix may be adapted to the dev's choice, but IMO the Windows copied file naming convention seems to be a simple yet good choice.

Note

When this functionality is added, Duplication button may be abused to create meaninglessly many modpacks.
To tackle this issue, using a different behavior might work.
Instead of automatically naming and providing the 'copy', use the name for the default name of the modpack copy - but prompt the 'modpack edit' page when the Duplicate button is pressed.
This way, continuously clicking on "Duplicate" to replicate it too much will not be possible.

Version Compatibility

Is your feature request related to a problem? Please describe.
It's pretty annoying when you select all the mods you want and when you start up minecraft, it crashes and
sometimes doesn't even give you the name of the mod that crashed it, so you have to look through every mod page to
find which mod could be outdated or incompatible with another mod.

Describe the solution you'd like
Any mods that don't support the version selected on the modpack could be highlighted in red and moved to the top of the list,
along with text stating the latest version of the mod.
If a mod is incompatible with another mod or requires a dependency, the mods needed to be added or deleted will be listed
in the mod window.

Additional context
Mods could also be layed out in rows of 3 instead of 1 long list down the middle of the screen, especially for some of the larger
modpacks.

ALSO I realise that a point made here, dependency, has already been suggested in a previous enhancement. My bad.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Other Branches

These updates are pending. To force PRs open, click the checkbox below.

  • chore(deps): update dependency discord-api-types to v0.37.47
  • chore(deps): update dependency typescript to v5.1.6
  • chore(deps): update typescript-eslint monorepo to v5.60.1 (@typescript-eslint/eslint-plugin, @typescript-eslint/parser)
  • chore(deps): update dependency eslint to v8.44.0

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/codeql.yml
  • actions/checkout v3
  • github/codeql-action v2
  • github/codeql-action v2
.github/workflows/lint.yml
  • actions/checkout v3
  • pnpm/action-setup v2
  • actions/setup-node v3
  • github/codeql-action v2
.github/workflows/minecraft.yml
  • actions/checkout v3
  • pnpm/action-setup v2
  • actions/setup-node v3
nodenv
.node-version
  • node 18
npm
package.json
  • @heroicons/react ^2.0.18
  • @iarna/toml ^2.2.5
  • @next-auth/mongodb-adapter ^1.1.3
  • @radix-ui/react-dialog ^1.0.4
  • @radix-ui/react-dropdown-menu ^2.0.5
  • clsx ^1.2.1
  • date-fns ^2.30.0
  • fast-xml-parser ^4.2.5
  • file-saver ^2.0.5
  • jszip ^3.10.1
  • nanoid ^4.0.2
  • next ^13.4.7
  • next-auth ^4.22.1
  • next-mdx-remote ^4.4.1
  • next-plausible ^3.8.0
  • nextjs-progressbar ^0.0.16
  • react 18.2.0
  • react-dom 18.2.0
  • react-hot-toast ^2.4.1
  • react-markdown ^8.0.7
  • @lukeed/uuid ^2.0.1
  • @microsoft/eslint-formatter-sarif ^3.0.0
  • @next/bundle-analyzer ^13.4.7
  • @tailwindcss/forms ^0.5.3
  • @tailwindcss/typography ^0.5.9
  • @total-typescript/ts-reset ^0.4.2
  • @types/file-saver ^2.0.5
  • @types/node 20.3.1
  • @types/react 18.2.14
  • @types/react-dom 18.2.6
  • @typescript-eslint/eslint-plugin ^5.60.0
  • @typescript-eslint/parser ^5.60.0
  • autoprefixer ^10.4.14
  • discord-api-types ^0.37.46
  • dotenv ^16.3.1
  • eslint ^8.43.0
  • eslint-config-next 13.4.7
  • eslint-config-prettier ^8.8.0
  • eslint-plugin-unicorn ^47.0.0
  • gray-matter ^4.0.3
  • image-size ^1.0.2
  • kleur ^4.1.5
  • mongodb ^5.6.0
  • node-fetch ^3.3.1
  • nodemailer ^6.9.3
  • p-limit ^4.0.0
  • postcss ^8.4.24
  • prettier ^2.8.8
  • prettier-plugin-tailwindcss ^0.3.0
  • remark ^14.0.3
  • remark-html ^15.0.2
  • tailwindcss ^3.3.2
  • tsx ^3.12.7
  • typescript ^5.1.3
  • zod ^3.21.4
  • pnpm 8.6.5

  • Check this box to trigger a request for Renovate to run again on this repository

packwiz hash problem

Describe the bug
It seems like there is an issue when using the packwiz / MultiMC updating instance option on Windows.

To Reproduce
Steps to reproduce the behavior:

  1. Create List and export
  2. Import in Launcher and start
  3. Edit the List and save (maybe remove a mod or change a version?)
  4. Try to launch the instance again
  5. See error

Expected behavior
It should download the correct versions and start the game.

Screenshots
image

Desktop (please complete the following information):

  • OS: WIN10
  • Browser opera gx
  • Version LVL5 (core: 107.0.5045.86)

Additional context
none

Exporting CurseForge download links in .mrpack

Is your feature request related to a problem? Please describe.
I just created a modpack using Moddermore for the first time. I really like the way it works, but there's one issue that makes exporting .mrpack kinda inferior to just using Export and getting a zip of all the mods. When downloading an .mrpack it doesn't include CurseForge mods that I added in the pack.

Looking at mrpack.ts I see that this was done deliberately (or it hasn't been implemented yet):

urls.filter(
    (dl) => !('error' in dl) && dl.provider === 'modrinth'
 )

Describe the solution you'd like
Support for CurseForge mods in the mrpack exports.

Describe alternatives you've considered
An alternative to this is to manually add the CurseForge download links to the json file in the mrpack. I tried this with ReplayMod and it did work when I created a new MultiMC instance with it.

Support for alternative mod distribution platforms

Mods other than CurseForge/Modrinth (like Thymine Mod, etc) are not added when creating modpack

To test it, I tried creating a modpack on Prism Launcher

  1. First add Thymine and mods not available on Modrinth/CurseForge
  2. Export it to a .zip file and select MultiMC/Prism instance
  3. Select the exported zip file, name it and click Submit. And you will see some mods not fully displayed

Screenshots
Moddermore's mods list showing
image
And here is the list of mods included in Prism Launcher
image
You can be pretty clear that Thymine is still visible in Prism, but not in Moddermore :/

Desktop

  • OS: Windows 10 Home SL
  • Browser: CocCoc 114.0.140 64bit
  • Version: 114.0.140 64bit

I think it is advisable to add scanning for mods from other sources, this will diversify the number of mods in the modpack
And I really like Moddermore :D Because it helps me make modpack much faster than ATLauncher (and more convenient when this is a website)

Wrong forge version when exporting to MultiMC

Describe the bug
The minecraft runs without loading the forge mod loader because the forge version is wrong.

To Reproduce

  1. Create a Forge modpack in recent versions (1.19.2 in my case)
  2. Export the modpack for MultiMC (either normal or auto-updating)
  3. Import as a zip in MultiMC
  4. Start instance
  5. Minecraft opens without loading Forge

Screenshots

image
image

  • forge version should be 43.3.5 but it's 1.19.2-43.3.5

Support additional login methods

It would be great to support additional login methods, as magic links can be annoying. My email reader automatically fetches the contents of URLs to generate metadata, and this makes the link expire. And I can't login on devices without access to my email.

Guest mode

Is your feature request related to a problem? Please describe.
No.

Describe the solution you'd like
Enabling list creation for non-logged in users, but with limits such as a two-week TTL?

Describe alternatives you've considered
Lots, but I know it because I considered it Β―\_(ツ)_/Β―

Additional context
None.

[Bug] Export frozen for everything besides zip

Describe the bug
Trying to use the website for first time, spent some time making a basic base modpack, tried to export with every non-zip option, seems each one freezes up.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://moddermore.net/list/wfeAa0_hBfYn
  2. Export as any non-zip option (i.e. Modrinth)
  3. Open console, see error listed

Expected behavior
Modpack to export

Screenshots
image

Desktop (please complete the following information):

  • OS: Ubuntu 23.10
  • Browser: Chromium
  • Version: 116

Additional context
Here's a snack πŸͺ

Mod versions are buggy

Issue 1
In the mod search filed when adding a mod with a specified version, the version gets lost and has to be selected again.

Issue 2
When creating a modpack and you have some selected mods, the select version button does nothing when clicked.

Issue 3
When duplicating a modpack with mods that have selected versions, in the duplication request sent from browser, the version does not get sent, but stays as "version": null. This creates another issue what makes the whole duplicate feture not work. More details at #214.

Screenshots
Issue 1
In the search field:
image
After adding it:
image

Issue 2
Clicking the select version button only highlights it:
image

Issue 3
A modpack, with a mod, with a version set:
image
The mod in the payload of the failed duplication request:
image

Support snapshot versions

Is your feature request related to a problem? Please describe.
Not really.

Describe the solution you'd like
Include snapshot versions for launchers / mod searching. Maybe using a checkbox to include all versions. Some mods will still work for versions they don't have listed.

Describe alternatives you've considered

Additional context
I'm using moddermore for the packwiz url to use with docker launching itzg's minecraft server container with podman (docker). Makes it simple to manage which mods are used for the server. If I want to add or remove a mod I just have to change the mod pack then restart the container. I'd like to be able to setup a snapshot server and be able to use this same process for snapshot versions as well.

Match major version in search

Some fabric/quilt mods don't label minor versions because they're interchangeable in most cases. Maybe add options for version matching. (like polymc)

Customizable Modrinth modpacks

Currently versionId is hardcoded to 0.0.1 and the summary is an endorsement of Moddermore.

User should be able to show a form before .mrpack generation and enter overrides.

List randomly 404s

/list/[id] pages are returning 404 Not Founds after any first list gets loaded.

Legacy Fabric support

Is your feature request related to a problem? Please describe.
I want to make a modpack called β€œLegacy Optimized”, which is practically going to be Simply Optimized but for Legacy Fabric / Forge (1.12.2 – 1.7.10), and it seems as if there's no support for this.

TL;DR: I need Legacy Fabric support for my modpack, since it's the sole purpose.

Describe the solution you'd like
Add Legacy Fabric support, possibly as a different mod loader option.

Describe alternatives you've considered
I don't know any other possible alternatives, so it seems as this is the only possible option.

Additional context
No additional context needed for now.

Is this supposed to work?

Describe the bug
Can't be clear, I'm browsing your site for the first time using Waterfox and Vivaldi. I can't see much, and searching for "5" (random number) gives me nothing (Waterfox), or a little popup that says I'm being rate limited (Vivaldi)

Expected behavior
I'm a new user, so I'm trying to figure out what your site does and how it works and if it will solve my problem.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows
  • Browser Waterfox (current), Vivaldi
  • Version [e.g. 22]

Additional context
I don't have Discord because they have never let me use my account in the ~10 years that I've had it. So here I am.

Moddermore seems to be broken for me

Describe the bug
For me, none of the authentication methods do work, and the mods list can not be fetched

To Reproduce

  1. Go to moddermore.net
  2. Try to sign any using any of the available options

Expected behavior
The sign in should be successful and the mod lists should be shown.

Screenshots

Screenshot_9
Screenshot_8
Screenshot_8

Desktop (please complete the following information):

  • OS: Windows 10 Professional 22H2
  • Browser Microsoft Edge
  • Version 117.0.2045.43

Additional context
If I try to sign in using the magic link, every link is seen as invalid for some reason.
The only sign in method that works is discord, but as soon as the login process is finished the mods can not be resolved and the whole applications stales.

I've tried several things:

  • Clearing the browser cache
  • Deleting all cookies
  • Allowing third party cookies
  • Run it on a fresh OS instance inside Windows Sandbox

Dependency resolution

Is your feature request related to a problem? Please describe.
Dependencies such as Fabric API aren't resolved automatically when not in a list but required by mods.

Describe the solution you'd like
Resolution of dependencies in a full-fledged tree during export (e.g. mrpacks or zips).

Describe alternatives you've considered
Prompting the user to install dependencies during creation, for instance, a separate page for detected missing dependencies

Additional context
None

Duplicating modpacks does not work

Overview
When clicking the duplicate button on a modpack it sends the request but it returns as 400 from the api.

The Problem
When creating a modpack from scratch and when duplicating one, almost the same request gets sent from the browser, except the duplicated one sends the version of the mods. And this functionality has the issue. No matter if a mod has, or has not a version set, the request body looks the same as "version":null (this is explained at #213).

The Fix
Simply removing the "version" fixes everything. But a better fix would be just changeing the type to string (as null has the type of object).

Requests
That work:
"body": "{ (...) ,\"mods\":[{\"id\":\"P7dR8mSH\",\"provider\":\"modrinth\",\"version\":\"null\"}]}"
"body": "{ (...) ,\"mods\":[{\"id\":\"P7dR8mSH\",\"provider\":\"modrinth\"}]}"
That does not (original):
"body": "{ (...) ,\"mods\":[{\"id\":\"P7dR8mSH\",\"provider\":\"modrinth\",\"version\":null}]}"

Problem exporting to MCC launcher

The issue
When you export to the latest version of MCC (both with packwiz and without) it tells you you need to use the OneSix instance format.

My fix
Just adding InstanceType=OneSix to the top of my instance.cfg fixed everything for me.

Screenshots
image

A few suggestions :O

This has also been posted in the discord but I wasn't sure what place was better.

I’ve been using moddermore for a couple months now and I’ve gathered a few suggestions that could help improve the program.

  1. Compare lists to see differences between them and merge all the mods to create one big list

  2. Automatically create change logs in the keepachangelog.com format.

  3. Provide a warning ⚠️ when a new version of a mod in one of your lists of your Minecraft version and launcher had been released since your last download. This will help keep all of your mods updated.

Export to zip gets stuck partway through: "Resolving mods"

Describe the bug
I made a modpack yesterday, and when I tried to download it today to test it, I can't. The pack contains a mix of Modrinth and Curseforge, so I'm using the export as zip functionality.

To Reproduce
Steps to reproduce the behavior:

  1. Export as zip
  2. Gets stuck.

On Waterfox, it gets stuck at 175 or 176. On Vivaldi, it gets stuck at 325

Expected behavior
An output zip file, or an error message explaining what the problem is.

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser Waterfox, Vivaldi

Additional context
Modpack: https://moddermore.net/list/2eX8EjJqfNKG

[BUG] CurseForge-Only Mods Not Downloading

Describe the bug
Exporting CurseForge mods as a .zip archive fails to work.

To Reproduce
Steps to reproduce the behavior:

  1. Add any CurseForge-only mod to a moddermore list.
  2. Attempt to export the list to a .zip archive
  3. View the error

Expected behavior
I expected to be able to download the mods as normal.

Screenshots
If applicable, add screenshots to help explain your problem.
Screenshot 2023-05-21 at 5 23 42 PM

Desktop (please complete the following information):

  • OS: MacOS Ventura 13.3
  • Browser: Safari
  • Version: Latest

Selected versions don't get set in exported Packwiz

Describe the bug
If a mod has multiple versions that you can select from, and you select a version that is not the most recent version, the exported Packwiz doesn't seem to be acknowledging that that previous version was selected. I initially thought that this might be an issue with Packwiz, but after seeing #213 being reported, I think that it may just be because the selected version is not properly being provided to Packwiz.

To Reproduce
Steps to reproduce the behavior:

  1. Go to any modpack
  2. Click "Edit"
  3. Select a version for a mod that is not the most recent version available in the dropdown
  4. Click "Save"
  5. Export as MultiMC (auto-updating)
  6. Import in PolyMC/MultiMC/Prism Launcher and run the instance.
  7. Check if version for the mod matches with the one listed in Moddermore.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
The Sodium version I have selected is 0.4.10:
image

However, the version being downloaded by Packwiz is 0.5.3:
image

Desktop (please complete the following information):

  • OS: Windows 11
  • Browser: Google Chrome
  • Launcher: Prism Launcher 7.2

Packwiz export support

Add packwiz support so that lists can be directly imported into packwiz-installer, making it convenient for auto-updating clients (even on MultiMC) and servers.

Main pain points will be the problem of pinning specific mods to versions, and the hashes needed to provide to packwiz-compatible clients. Possibly will need to fetch every single mod TOML from the pack TOML serverless function. Not
ideal

Links

Packwiz curseforge mods

Issue
So, I don't clearly understand, is it bug or not, but....
If I try to export mod list in packwiz - mods that hosted on curseforge not included in index.toml

To Reproduce
Open any mod list, that contains mods from CurseForge and try to find them.

Description on mod list

Could be useful! For example, noting in more detail what the modpack is for, writing down any config changes you might need, any mods that aren't available on cf/mr yet.. etc.

Some mods are not find-able when I try to add them into a pack

Describe the bug
I went through a list of mods yesterday and made a modpack. Or tried to. I'm not done, but I found 13 mods that were indeed listed on Modrinth or Curseforge, and were indeed version-compatible with what I made the list with. But Moddermore could not find them. I used Waterfox (Firefox based) and Vivaldi (chrome based). They are the latest versions, or maybe 1 behind.

In a couple of cases, it seemed that the developer had a different name for their name vs the name in the URL, so I was able to find the mods that way. However, I didn't notice that same phenomenon for these mods.

Horse Expert	https://modrinth.com/mod/horse-expert
ThonkUtil	https://www.curseforge.com/minecraft/mc-mods/thonkutil/
More Villagers	https://www.curseforge.com/minecraft/mc-mods/more-villagers-fabric
Everything is Copper	https://modrinth.com/mod/everythingcopper/
Netherite Plus Mod	https://modrinth.com/mod/netherite-plus-mod
Map Shirts	https://modrinth.com/mod/map-shirts
Pesky Seagulls	https://modrinth.com/mod/pesky-seagulls
Map Album	https://modrinth.com/mod/map-album
Fast Async World Save	https://www.curseforge.com/minecraft/mc-mods/fast-async-world-save-forge-fabric
Queen Bee	https://modrinth.com/mod/queen-bee/gallery
Paintings with Dragons	https://www.curseforge.com/minecraft/mc-mods/paintings-with-dragons
Breezy	https://modrinth.com/mod/breezy/
Storage Labels	https://www.modrinth.com/mod/labels

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser Waterfox, Vivaldi

Pack that I'm working on: https://moddermore.net/list/2eX8EjJqfNKG

API docs

Is your feature request related to a problem? Please describe.
I want make a new cli app that uses moddermore api, but it's not documented and i can't use it

Describe the solution you'd like
Can you make api and also access key(api key)?

Describe alternatives you've considered
Idk

Additional context

Fabric fallback for Quilt

Currently the import / export functionality strictly restricts Quilt mod lists to mods explicitly labelled as supporting Quilt. However, Fabric mods also can work with Quilt.

Therefore, these import and export flows should reflect this fact when searching for file downloads / using hashes to match available mods on Modrinth and CurseForge.

Specify mod version

Is your feature request related to a problem? Please describe.
Sometimes latest versions of mods aren't compatible with each other or some fixes rolled out as a alpha/beta release, but moddermore downloads latest stable release.

Describe the solution you'd like
Allow user to specify a version of the mod (includeing versions marked as aplha/beta/pre-release).

Sign in button overlap when browser is too narrow

Describe the bug
Sign in button overlap on the logo

To Reproduce
Steps to reproduce the behavior:

  1. Narrow down your web browser

  2. Sign in button be doing the funny

  3. Open an app

  4. Open safari as hover app

  5. Go to moddermore

  6. Sign in UwU

Expected behavior
No overlap

Screenshots
You know

Desktop (please complete the following information):

  • OS: Fedora 36 Workstation
  • Browser Vivaldi/Chromium
  • Version Wdym

Smartphone (please complete the following information):

  • Device: iPad Air 2020
  • OS: iPadOS 15.7
  • Browser Safari
  • Version What?

Additional context
AAAAAAH

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.