Code Monkey home page Code Monkey logo

minecraft-asset-extractor's Introduction


Previously known as "Jack's MCAsset Extractor"


Minecraft Asset Extractor (or MAE) is a web app that aims to simplify the process of extracting Minecraft's built-in game assets, including things like textures, sounds, models, JSON data, and more. This app works entirely through your browser. No installation required!

minecraft-asset-extractor's People

Contributors

dependabot[bot] avatar jackdotjs avatar robertrr11 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

minecraft-asset-extractor's Issues

add version search

allows users to use text search for the massive list of mc versions they might have installed. might also experiment with using string similarity for a less strict search algorithm.

will 100000000% be needed if #8 gets implemented

add some kind of privacy notice for local file uploads

i can't imagine many people are gonna be thrilled at the thought of uploading their entire minecraft folder to a random website, so it might be worth adding a lil message next to the upload box.

maybe just a short message, with further details in the "about" menu (see #13)

disable UI elements once extraction process has begun

right now, no part of the UI gets disabled once the extraction process begins, so this could probably lead to really really bad things happening if the user clicks the button twice or uploads new files in the middle of the extraction.

Ability to extract assets from the Minecraft jars

Adds an option to extract the default resource pack assets from the Minecraft jar file. Will likely require major changes to the UI as well as the extractor, possibly even just a separate menu and internal method for extracting files.

check extraction methods for older versions of the game

something i havent taken the time to do yet is research how assets are stored in much older versions of minecraft.

as far as i'm aware, the methods we're using work for all modern versions of MC since version 1.12, but i'm honestly not even sure about this either. we are absolutely going to have to see how much different things look in older versions. though this also begs the question: "what's the oldest version we should support?"

i'd love to have the ability to extract game assets from nearly every historical version of the game, but this might be a bit extreme. and honestly, who needs assets from all the way back to 2009? lol

still, it'd be interesting to see what we'd have to do to make it happen at least.

localization

we should have support for multiple languages. i can't imagine there'd be that many strings, so it'd probably be relatively simple to set up.

Find some way to use native file browsers (ALL PLATFORMS)

java's built-in file browser is disgusting and ugly and only "does the job." native file browsers are infinitely better in every way. in early development of this app, i was using javaFX to accomplish native file browsing but this meant nearly tripling the app's size and increasing the minimum required java version to 11.

REQUIRED:

  • must support folder browsing (NOT just file browsing)
  • must support all major platforms (Windows, Linux, MacOS)
  • must support Java 8

OPTIONAL BONUS:

  • adds less than 1 MB to the final app's compiled jar size

Option to overwrite existing files

The default operation of Java's java.nio.file.Files.copy() method is to copy files and throw an IOException if the file already exists on disk.

There should be an option for users to overwrite these files if desired.

Downloading assets directly from Mojang as an alternative to uploading user's own minecraft folder

Mojang has an API for Minecraft assets that can be accessed publicly. This could probably be simplified to the point of the user just needing to select the version they want to extract. I'm not sure about extracting things like sounds but extracting textures using just client side JavaScript should be possible.

Some examples:
Getting all versions:
https://piston-meta.mojang.com/mc/game/version_manifest_v2.json

Getting data of the newest version (23w13a_or_b):
above link > versions > 0 > url > https://piston-meta.mojang.com/v1/packages/f7dc73624306a835e2e7274b198260d361dc2005/23w13a_or_b.json

Getting the client jar of 23w13a_or_b:
above link > downloads > client > url > https://piston-data.mojang.com/v1/objects/8ebf103ef3c48ff40d4d002f44c5f7bc5d90e7e2/client.jar

The file uploader could maybe also stay for things that aren't included in the default launcher like OptiFine, Fabric or Forge.

Add PWA support

Continuation of discussion in #8 adding Progressive Web App support including with offline support

add "about" and "how to use" buttons

just some basic information buttons. could probably be added to the right side of the header next to the app logo

"about"

should explain what the app is for, who contributed to it, also include github links

"how to use"

explain what everything does and what certain terms mean

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.