Skip to content

ModifiedCommand/ConvertJavaTextureToBedrockApi

 
 

Repository files navigation

THIS PROJECT IS NO OFFICIAL MINECRAFT PRODUCT - NOT AUTHORIZED OR ASSOCIATED BY MOJANG


API for convert Minecraft Java texture packs to Bedrock texture packs

Description

It supports the follow Minecraft versions:

Minecraft Version
Java v1.13.x, v1.14.x, v1.15.x or v1.16.x
Bedrock >= v1.16.20

Requirements

  • This is an "ES module".
  • So it requires a current web browser or NodeJS v14.
  • If you need older support, please try to use something like webpack or babel

Use it direct in your code

  • Add it as a dependency to your package.json
yarn add github:ModifiedCommand/ConvertJavaTextureToBedrockApi

or

yarn add @modifiedcommand/convert-minecraft-java-texture-to-bedrock-api
  • You can convert your texture packs like
import {ConsoleLog, Input, LocalFileInputEntry, LocalFileOutput} from "@geekcornernpm/convert-base-api";
import {ConvertJavaTextureToBedrockApi} from "@geekcornernpm/convert-minecraft-java-texture-to-bedrock-api";

(async () => {
    let output;

    try {
        output = await new ConvertJavaTextureToBedrockApi(new Input(new LocalFileInputEntry("input/java_texture_pack.zip")), new LocalFileOutput("output/bedrock_texture_pack.mcpack"), new ConsoleLog()).convert();
    } catch (err) {
        console.err(err);

        return;
    }

    console.log(`Output: ${output}`);
})();

Extras (for texture pack creators)

UUID

  • You can create the bedrock_uuid_header and bedrock_uuid_module files in your input, to keep the same uuid on repeating conversions - otherwise, random uuids are generated each time and you need to reselect the texture pack again in the game

Custom textures

  • You can put custom textures in a bedrock_textures folder in your input.
  • For instance for textures, that can not be converted or are not converted correctly.
  • This files are applied additionally before output

How this work

This project uses the follow main features or external libraries:

  • Web Worker for convert it in the background to not freeze the browser ui (Web app)
  • jszip for read, modify and write zip files
  • jimp for graphic manipulation
  • file-saver for deliver the converted pack to download (Web app)
  • webpack for bundle the dist code (Web app)
  • Service Worker for offline cache and usage (Web app)

Web app

Report issue