Gradient Chat v2.5

A plugin that adds customizable gradient chat colors for players who have donated to the server.

v2.5

Latest

GradientChat 2.5
Shader Resource Pack Addon. GPU Chat Animation. Smarter Fallbacks.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

v2.5.0 Shader Addon Paper 1.21 Client 1.21.4+

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━




What Is New in 2.5

Version 2.5 introduces the Shader Resource Pack Addon: an optional pack shipped inside the plugin download under resourcepack/. Together with the updated plugin core, it moves animated chat off the server CPU and onto the client GPU.

Upgrading from 2.4 keeps all gradients, permissions, player data, and GUI behavior. Animation for inline tags and scrolling chat gradients now expects the addon when you want motion. Without the pack, the plugin still applies correct static colors through the same ColorUtil path used in the GUI preview.



━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━




Shader Resource Pack Addon

The addon is not a separate plugin. It is a merge-ready resource pack with custom GLSL shaders for Minecraft text render types. Install it once per network, then every player with the pack sees smooth animation at display refresh rate with zero server tick loops for shader mode.

What the addon includes:

  • rendertype_text and rendertype_text_see_through vertex and fragment shaders (chat uses see-through)
  • rendertype_text_intensity hooks for glowing and intensity text paths
  • gradientchat_effects.glsl shared decode logic for rainbow, gradient, pulse, and wave
  • gradientchat_presets.glsl color stops for all configured chat gradients (auto-regenerated on plugin reload)
  • pack_format 48 for Minecraft 1.21.4 and newer
  • Integration stubs for Nexo, Oraxen, ItemsAdder, and vanilla ZIP hosting

How it connects to the plugin: the server encodes each character into trigger RGB values. The client shader detects those values, reads GameTime, and paints the final color every frame. No repeated chat packets. No AnimationEngine tick task for effect tags.


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━




Encoding and Animation

Path Trigger Behavior with addon Behavior without addon
Selected chat gradient R = 251 GPU scroll through preset colors Static per-character hex (ColorUtil)
Inline tags R = 253 Rainbow, gradient, pulse, wave on GPU Static spectrum or tag colors (ColorUtil)

Inline tags (permission per tag):

  • text
  • text
  • text
  • text
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━




Plugin Core Changes

Removed server-side effect animation engine

  • AnimationEngine and legacy TextEffect classes removed
  • New ShaderEffectEncoder pipeline: RainbowEncoder, GradientEncoder, PulseEncoder, WaveEncoder
  • EffectRegistry dispatches encoders instead of recalculating colors every tick

Shader preset generator

  • On /gradientchat reload the plugin writes plugins/GradientChat/generated/gradientchat_presets.glsl
  • Copy that file into your merged Nexo or Oraxen pack so shader colors always match config.yml
  • All ~36 built-in gradients included automatically

New config options under effects:

  • shader_mode master GPU encoding switch
  • shader_fallback_static use ColorUtil when the client has no pack (default true)
  • shader_force_gpu_encoding always encode for Nexo-only pack delivery
  • shader_slide_seconds full scroll cycle duration for animated presets
  • shader_char_spacing gradient width across characters

Chat formatter compatibility

  • AsyncChatEvent listener priority raised to HIGHEST for LPC and similar formatters
  • %gradientchat_message% still caches the last outgoing line

Shader compile fixes

  • ColorModulator import fix for Minecraft 1.21.8+ text shaders
  • see_through fragment shader uses color *= vertexColor so Text Display backgrounds stay correct
  • Do not ship custom fog.glsl in the addon (use vanilla moj_import)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━




Installing the Addon

Nexo (recommended for merged server packs)

  • Copy the entire resourcepack/ folder to plugins/Nexo/pack/external_packs/GradientChat/
  • Run /gradientchat reload, then copy generated/gradientchat_presets.glsl into the Nexo pack shaders include folder
  • Reload Nexo and confirm the log shows Importing external-pack GradientChat
  • Set effects.shader_force_gpu_encoding: true if Paper does not detect the Nexo pack on the player

Oraxen

  • Merge resourcepack/assets/minecraft/shaders/ into plugins/Oraxen/pack/assets/

ItemsAdder

  • Follow paths in resourcepack/integrations/itemsadder/

Vanilla

  • Zip resourcepack/ and host via server.properties resource-pack URL
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━




Upgrade Notes from 2.4

  • Replace the JAR. Run /gradientchat reload. No database migration required.
  • If you used server-ticked animated placeholders only, they still work. Inline chat tags now prefer the addon for motion.
  • If chat turns solid pink or purple, the client failed to load shaders. Check F3 client log, verify the addon is inside your merged pack, and copy the latest generated presets file.
  • For static-only servers: keep shader_fallback_static: true and leave shader_force_gpu_encoding: false. No addon required.
  • Clear client resource pack cache after a pack hash change, then rejoin.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━




Requirements

Component Requirement
Server Paper 1.21.0 to 1.21.10, Java 21
Shader addon (optional) Minecraft client 1.21.4+ with pack_format 48 support
Plugin without addon Full static gradients, GUI, presents, custom builder, PlaceholderAPI
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

GradientChat 2.5.0 plugin plus optional shader addon. Install both when you want GPU motion. Install the plugin alone when static gradients are enough.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Download 0
No ratings yet
Purchase required
Product Info
Statistics
12

Views

0

Purchases

0

Downloads

336.88 KB

File size

30.06.2026

Published

30.06.2026

Updated

Product Image
Gradient Chat
Gradient Chat