Ore UI Customizer Wiki
General
  • General Information
  • Configs
  • Plugins
  • Themes
  • Add-Ons
  • Marketplace
  • Website
    • General Information
    • Getting Started
  • App
    • General Information
    • Downloading
    • Installing
    • Getting Started
  • CLI
    • General Information
    • Installing
    • Getting Started
Creating Configs
  • Guide
  • Extra
Creating Plugins
  • Guide
    • 1. Plugins Explained
    • 2. Software & Preparation
    • 3. Project Setup
  • Extra
    • Client Scripts
    • Single-File Plugins
Creating Themes
  • Guide
    • 1. Themes Explained
    • 2. Software & Preparation
    • 3. Project Setup
  • Extra
    • Color Customization
    • Texture Customization
    • CSS Customization
Creating Add-Ons
  • Guide
  • Extra
Meta
  • Useful Links

Video Settings

Theme

Project Setup

Project Setup
  • The ore_ui_customizer folder
  • Your Workspace
  • BP Manifest
    • Manifest Explained
    • UUID Explained
  • Pack Structure
    • Development Pack Stucture
    • Publish Pack Stucture
This page is a work in progress.
 
Please help expand and improve it.

This page describes a planned feature.

It has not appeared in any development versions yet, but is planned to be included in v1.17.0.

The ore_ui_customizer folder ​

This section of the page is empty.
 
You can help by expanding it.

Your Workspace ​

First of all, you will need to create the proper folders in suitable locations and set up your workspace. The remainder of this guide assumes you are using VSCode. You may also follow along with other editors.

Let's create your first add-on workspace in Visual Studio Code now.

  1. Open VSCode (Visual Studio Code, the code editor)
  2. Create a folder named "your_theme_name" in themes. We will refer to this folder as theme
  3. Go to File > Add folder to workspace... and choose theme.
  4. Press File > Save Workspace as... to save the workspace file to your Desktop. Whenever you're working on your theme, all you have to do is open the workspace by double-clicking, and you will get quick access to your theme folder.

BP Manifest ​

CREATING FILES

In this guide, you will often be instructed to create files with specific names, placed in specific folders. If the folder doesn't exist yet, please create it!

The manifest is a file that identifies your pack to Minecraft. Every pack has one manifest. A folder with a correctly formatted manifest will show up in Minecraft, and we consider this the "minimal" pack before we can add additional content.

Manifest files are written in JSON. If this isn't familiar to you, you can learn more about json here.

First, create a new file in your BP folder by right-clicking on the folder and selecting New File Call the file manifest.json and paste the following code into the file to begin with.

theme/manifest.json
json
{
    "format_version": 1,
    "header": {
        "name": "Your Theme Name",
        "id": "your-theme-id",
        "namespace": "your-theme-namespace",
        "description": "Your theme description.",
        "uuid": "...",
        "version": "1.0.0",
        "format_version": "1.17.0",
        "min_engine_version": "1.17.0+BUILD.8"
    },
    "metadata": {
        "authors": ["Your Name"],
        "product_type": "theme"
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

Manifest Explained ​

NOTE

Even if the namespace+id combo isn't unique, that won't cause it to not function, it will just cause abiguity as to which of the themes that shared the namespace+id combo was being referred to in places like error messages.

  • format_version defines what version of manifest JSON format you are using. Version 1 is the most recent stable version; use it.

  • name is the name of your theme. description will show up under it in the Ore UI Customizer.

  • id is the ID of your theme. It is used to identify your theme when applying themes and to identify your theme in error messages. This should be unique when combined with the namespace. It must consist only of alphanumeric characters, underscores, hyphens, and periods.

  • namespace is the namespace of your theme. It is used in conjunction with the id to identify your theme when applying themes and to identify your theme in error messages. It must consist only of alphanumeric characters, underscores, hyphens, and periods. It must not be built-in, as it is reserved for built-in themes.

  • The uuid field is essential, and will be discussed in more detail below.

  • version defines the version of your theme.

    This allows users to import updated versions of your add-on without encountering a "Duplicate pack detected" error. You don't need to change the version if you have the add-on in development_*_packs folders and only use them on private worlds.

  • format_version (header) defines the Ore UI Customizer version that your theme was made for. The number specified here should match the latest version of the Ore UI Customizer that you tested it on.

  • min_engine_version defines the minimum Ore UI Customizer version that'll be able to use your theme. The number specified here should match the current version of the Ore UI Customizer, unless you're planning for backwards compatibility with older versions, in which case you should specify the earliest version of the Ore UI Customizer that your theme is compatible with. You can omit this if you don't want to prevent older versions of the Ore UI Customizer from attempting to use it.

  • In metadata, the product_type must be a product type of "theme".

UUID Explained ​

A UUID (Universally Unique Identifier) identifies your pack for other programs (in this case, the Ore UI Customizer) to read. It looks something like this: 5c830391-0937-44d6-9774-406de66b6984

NEVER USE THE SAME UUID TWICE. You can generate your own UUIDs here or, if you use VSCode, you can install this extension. Every manifest file has a UUID.

To ensure that your add-on will work correctly you should generate a new UUID which you will paste into the theme manifest.json file, at the "...". When you are finished, it should look something like this:

json
"uuid": "5c830391-0937-44d6-9774-406de66b6984"
1

Pack Structure ​

Development Pack Stucture ​

      • 📝ore-ui.css-data.json
      • 📝settings.json
      • 📝example.css
      • 🖼️example.gif
        • 🖼️example.gif
        • 🖼️example.svg
        • 🖼️example.png
        • 🖼️example.jpg
        • 🖼️example.jpeg
      • 🖼️example.svg
      • 🖼️example.png
      • 🖼️example.jpg
      • 🖼️example.jpeg
      • 🎥example.webm
        • 🎥example.webm
      • 📑*.otf
      • 📑*.ttf
    • 📝color_replacements.json
    • 📝manifest.json
    • 🖼️pack_icon.png
    • 📝.prettierrc
    • 📝package.json

Publish Pack Stucture ​

      • 📝example.css
        • 🖼️example.gif
        • 🖼️example.svg
        • 🖼️example.png
        • 🖼️example.jpg
        • 🖼️example.jpeg
      • 🖼️example.svg
      • 🖼️example.png
      • 🖼️example.jpg
      • 🖼️example.jpeg
      • 🎥example.webm
        • 🎥example.webm
      • 📑*.otf
      • 📑*.ttf
    • 📝color_replacements.json
    • 📝manifest.json
    • 🖼️pack_icon.png

Videos must be in the .webm format. The video codec of videos must be Google/On2's VP9 Video (VP90). The audio codec of videos must be Vorbis Audio (vorb) (and the max supported bitrate may be 112 kb/s, but this needs to be verified)


NOTE

Some of the contents of the Bedrock Wiki's Project Setup guide were used to help make this guide.

Edit Project Setup on GitHub
  • 8crafter.com
  • Discord
  • GitHub Repository