Post‐Processing Shaders - AlignedCookie88/FireClient GitHub Wiki

This page walks you through applying post-processing shaders using FireClient. Post-processing shaders should NOT be used as a gameplay mechanic as there is no way to force vanilla clients into using them.

Included shaders

Both FireClient and Minecraft include some built-in post-processing shaders. Here are all the shaders available for use without a resourcepack:

  • minecraft:blur - Intended for blurring the background in menus
  • minecraft:invert - The shader displayed when spectating an enderman
  • minecraft:spider - The shader displayed when spectating a spider or cave spider
  • minecraft:creeper - The shader displayed when spectating a creeper
  • fireclient:pixelate - Pixelates the screen, accepts the PixelationStrength (Default 150) uniform that changes how pixelated the screen is.
  • fireclient:hueshift - Hue-shifts the screen, accepts the HueShiftDegrees (Default 180) uniform that changes the amount of degrees shifted the screen is.
  • fireclient:greyscale - Converts the screen to greyscale, accepts the BlendAmount (Default 0.8) uniform that changes the amount the greyscale is blended with the original colour, 0.0 is fully coloured and 1.0 is fully greyscaled. Some funky effects are produced when the range 0.0-1.0 is exceeded.

Two other shaders (minecraft:entity_outline and minecraft:transparency) also exist but should not be applied as they are intended for rendering the glowing effect and fabulous graphics.

Using post-processing shaders in your plot

Applying a post-processing shader

Open the client functions screen using the HOME key, and find the Set Post Processor function. Place the template in your codespace, then place a function block and select the function. In the chest of the function, provide the shader ID as a string.

Setting a post-processing shader's uniform.

Open the client functions screen using the HOME key, and find the Set Post Processor Uniform function. Place the template in your codespace, then place a function block and select the function. In the chest of the function, provide the uniform name as a string, and the value as a number. Please note that the Set Post Processor function resets all uniforms.

Removing a post-processing shader.

Open the client functions screen using the HOME key, and find the Remove Post Processor function. Place the template in your codespace, then place a function block and select the function.

Writing your own shaders

The post-processing shaders used by FireClient are the same system as used by vanilla Minecraft. You can find information on creating post-processing shaders on the Minecraft Wiki.

There are however a few minor changes:

  • The name property on a pass in <namespace>/shaders/post/<shader>.json now supports being prefixed with <namespace>: to move the target from minecraft/shaders/program/<shader>.json to <namespace>/shaders/program/<shader>.json.
  • The fragment and vertex properties in <namespace>/shaders/program/<shader>.json now supports being prefixed with <namespace>: to move the target from minecraft/shaders/program/<shader>.<vsh|fsh> to <namespace>/shaders/program/<shader>.<vsh|fsh>.
⚠️ **GitHub.com Fallback** ⚠️