Skip to content

feat: load legacy cosmetics dynamically#38

Open
cootshk wants to merge 18 commits into
mainfrom
feat/legacy-list
Open

feat: load legacy cosmetics dynamically#38
cootshk wants to merge 18 commits into
mainfrom
feat/legacy-list

Conversation

@cootshk

@cootshk cootshk commented May 12, 2026

Copy link
Copy Markdown
Member
  • Global prometheus folder symlinked into the mc dir (*Nix only)
  • Kotlin!
  • Dump legacy IDs to prometheus/essential/cosmetics.json
  • Auto-populate JSON with new keys
  • Filter out things like ESSENTIAL_PURCHASE_CONFIRMATION and the couple of UUIDs in the json file
  • Bundle and auto-extract file in the mod .jar
  • Download new file from GitHub and merge into the existing .json
  • Auto migrate dumps/essential to essential/dumps
  • Move the package id to studio.dreamys.prometheus.essential

Json file:
essential.json contents

@cootshk
cootshk requested a review from dxxxxy May 12, 2026 00:02
@cootshk

cootshk commented May 12, 2026

Copy link
Copy Markdown
Member Author

@copilot tell me if I missed anything

@cootshk cootshk self-assigned this May 12, 2026
@cootshk cootshk added the Feature For PRs label May 12, 2026

Copilot AI commented May 12, 2026

Copy link
Copy Markdown

@copilot tell me if I missed anything

You were mainly missing input sanitization for the dumped IDs (e.g. ESSENTIAL_PURCHASE_CONFIRMATION and malformed/non-legacy values like in the screenshot). I added filtering + startup cleanup in dca9116, so invalid entries are now ignored and removed from essential.json automatically. The remaining unchecked item is still the GitHub download/merge flow for refreshing the list.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • repo.spongepowered.org
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.14/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.14/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.14 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.14/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/minecraft-essential/minecraft-essential org.codehaus.plexus.classworlds.launcher.Launcher test (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@cootshk

cootshk commented May 12, 2026

Copy link
Copy Markdown
Member Author

I said tell me if I missed anything not do it for me ._.

@cootshk
cootshk marked this pull request as ready for review May 12, 2026 02:19
@cootshk

cootshk commented May 12, 2026

Copy link
Copy Markdown
Member Author

yknow what this is ready for review

@cootshk

cootshk commented May 12, 2026

Copy link
Copy Markdown
Member Author

please squash

@cootshk
cootshk force-pushed the feat/legacy-list branch from 4b0b437 to 527a7dd Compare May 14, 2026 01:12
@dxxxxy

dxxxxy commented May 15, 2026

Copy link
Copy Markdown
Member

I am confused as to why we added kotlin too.

@dxxxxy

dxxxxy commented May 15, 2026

Copy link
Copy Markdown
Member

Need the package to be more strict. Something like studio.dreamys.prometheus.essential (add .essential). There was an issue in the loader with Java 9+ module resolution where 2 packages of the same name in different jars were not allowed.

return current == Windows
}
@JvmStatic
fun isOnPosix(): Boolean {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not actually used anywhere.

@cootshk

cootshk commented May 15, 2026

Copy link
Copy Markdown
Member Author

I am confused as to why we added kotlin too.

Because essential bundles kotlin libs and I didn't want to deal with Java

@dxxxxy

dxxxxy commented May 15, 2026

Copy link
Copy Markdown
Member

I am confused as to why we added kotlin too.

Because essential bundles kotlin libs and I didn't want to deal with Java

I'm looking at the Kotlin code, and this is literally more confusing than Java. There is no good reason for adding it. This is a Java project, let's keep it that way.

@cootshk
cootshk force-pushed the feat/legacy-list branch 2 times, most recently from d19799f to e1a64c3 Compare May 17, 2026 04:12
@cootshk
cootshk force-pushed the feat/legacy-list branch from e1a64c3 to c057e69 Compare May 17, 2026 04:13
@cootshk

cootshk commented May 17, 2026

Copy link
Copy Markdown
Member Author

As it turns out the UUIDs are some of the current cosmetics (i.e. the cherry blossom cape)

@cootshk
cootshk requested a review from dxxxxy May 18, 2026 05:32
@dxxxxy

dxxxxy commented May 18, 2026

Copy link
Copy Markdown
Member

Kotlin is absolutely unacceptable. I do not want to see a single trace of it!

Comment thread src/main/resources/prometheus.essential.mixins.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature For PRs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants