Skip to content

devendrn/newb-x-mcbe

Repository files navigation

Newb X Legacy

Newb X Legacy is a RenderDragon successor to the legacy GLSL shader, Newb Shader. It is an enhanced vanilla shader that focuses on being lightweight and having soft aesthetics. It supports Minecraft Bedrock 1.21+ (Windows/Android/iOS).

Warning

This is an experimental repository, breaking changes are made often.


Screenshots


Downloads

v15 stable (For 1.20.73 or older)
v15 beta (For 1.20.80 or newer)

Nightly (beta) builds for Android (ESSL), Windows (DX), and iOS (Metal) can also be found at the Discord server.


Installation

Note

Shaders are not officially supported on Minecraft Bedrock. The following are unofficial ways to load shaders.

Android:

  1. Install Patched Minecraft App
  2. Import the resource pack and activate it in global resources.

Windows:

  1. Use BetterRenderDragon to enable MaterialBinLoader.
  2. Import the resource pack and activate it in global resources.

Linux / Mac:

This method is for mcpelauncher-manifest
  1. Download mcpelauncher-shadersmod.
  2. Follow this guide to setup.

Building

Install dependencies

  • Git
  • Python 3.11 or higher required
  • Python packages:
    • lazurite (must be v0.2.1. newer or older version may not be supported)
    • rich (must be v13.x.x)

Get source code

git clone https://github.com/devendrn/newb-x-mcbe/
cd newb-x-mcbe

Install dependencies from requirements.txt

Skip if you already have installed those versions.

python -m pip install -r requirements.txt

Setup build environment

Note

On Windows, run build.bat instead of ./build.sh for all following commands.

./build.sh setup

This will download shaderc binary and material data required to build shader.


Compile specific shader materials

./build.sh mats

Compiled material.bin files will be inside build/<platform>/

Command usage:

usage: build mats [-h] [-p {android,windows,merged,ios}] [-m M [M ...]] [-s S]

options:
  -h, --help            show this help message and exit
  -p {android,windows,merged,ios}
                        build profile
  -m M [M ...]          build materials (eg: Sky)
  -s S                  subpack config to use (eg: NO_WAVE)

Compile and build full shader pack

./build.sh pack

The final mcpack will be inside build/

Command usage:

usage: build pack [-h] [-p {android,windows,merged,ios}] [--no-zip] [--no-label] [-v V]

options:
  -h, --help            show this help message and exit
  -p {android,windows,merged,ios}
                        build profile
  --no-zip              don't make archive
  --no-label            don't label materials
  -v V                  version number eg: 46

Tip

If you want to customize pack name, author, version and other details, you can do so in src/newb/pack_config.toml.


Development

Clangd can be used to get code completion and error checks for source files inside include/newb. Fake bgfx header and clangd config are provided for the same.

  • Neovim (NvChad): Install clangd LSP from Mason.
  • VSCode: Install vscode-clangd extension.