HomeJavaModsScreenInChat
ScreenInChat

ScreenInChat
Render images directly inside Minecraft chat using a custom resource pack font

Paper 1.21.x, 1.20.x • Java 21 • Free + Premium License Support

Join our Discord Support

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[​IMG]

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

Video Preview




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

Premium Version:

https://builtbybit.com/resources/screeninchat.112830/

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

What is ScreenInChat?

ScreenInChat is a Minecraft Paper plugin that allows you to display real images directly inside the Minecraft chat.


This allows your server to show:


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

Example Images
[​IMG]
[​IMG]
[​IMG]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Main Features


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

How It Works

ScreenInChat creates a custom resource pack with a special font. This font contains small pixel glyphs used to build images in the chat.

The plugin reads an image, resizes it if needed, converts each pixel into a colored text component, and sends it to the player as chat lines.

Technical rendering flow:

Code (Text):

Image file or URL

Image is loaded asynchronously

Image is resized according to limits

Pixels are converted into colored Adventure Components

Custom font glyphs render the pixels in chat

Player sees the image directly inside the chat
 
This means the resource pack is static. You do not need to update the resource pack every time you send a new image.

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

Free vs Premium

Feature Free Version Premium Version
Local images Yes Yes
/sic test Yes Yes
/sic send <file> Yes Yes
/sic card Yes Yes
Automatic resizing Yes Yes
Maximum image size 64x64 256x256 and more
Web images from URL No Yes
Send to all players No Yes
Custom manual size No Yes
Player placeholders in web URLs No Yes


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

Free Version

The free version is fully usable for basic local image rendering.

Free includes:


Free does not include:


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

Premium Version

Premium unlocks advanced image delivery features.

Premium can unlock:



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

Use Cases


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

Requirements



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

Installation

  1. Download the plugin jar.
  2. Place it inside your server /plugins folder.
  3. Start the server once.
  4. The plugin will generate its folders and resource pack.
  5. Upload or merge the generated resource pack with your server resource pack.
  6. Configure config.yml.
  7. Restart the server.
  8. Test with /sic test checker.

Generated folders:

Code (Text):

plugins/ScreenInChat/
plugins/ScreenInChat/images/
plugins/ScreenInChat/lang/
plugins/ScreenInChat/license.yml
plugins/ScreenInChat/ScreenInChat-pack.zip
 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Resource Pack Setup

The plugin generates:

Code (Text):

plugins/ScreenInChat/ScreenInChat-pack.zip
 
You can use it in three ways:


If hosted online, configure:

Code (YAML):

resource-pack
:
public-url
: 'https://your-domain.com/ScreenInChat-pack.zip'
auto-send-on-join
: true
 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Commands

Main Commands

Code (Text):

/sic help
/sic pack
/sic list
/sic test <gradient|avatar|checker>
/sic send <file>
/sic card <file> <title> | <subtitle>
/sic sendpack <player>
 
Premium Web Commands

Code (Text):

/sic webview <url>
/sic webview <url> <player>
/sic webview <url> all
/sic webview <url> <player> <size>
/sic webview <url> all <size>
 
License Commands

Code (Text):

/sic license activate <key>
/sic license status
/sic license unlink
 
Shortcut:

Code (Text):

/sic license <key>
 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Command Examples

Test Images

Code (Text):

/sic test checker
/sic test avatar
/sic test gradient
 
Local Images

Put your image here:

Code (Text):

plugins/ScreenInChat/images/my-image.png
 
Then run:

Code (Text):

/sic send my-image.png
 
Image Card

Code (Text):

/sic card avatar.png Character_Name | Age_18_-_Roleplay_Profile
 
Premium WebView

Code (Text):

/sic webview https://mc-heads.net/avatar/androneko/64.png
 
Send to a specific player:

Code (Text):

/sic webview https://mc-heads.net/avatar/androneko/64.png Steve
 
Send to all players:

Code (Text):

/sic webview https://mc-heads.net/avatar/%player%/64.png all
 
Custom premium size:

Code (Text):

/sic webview https://mc-heads.net/avatar/androneko/128.png all 128
/sic webview https://mc-heads.net/avatar/androneko/128.png Steve 96x96
/sic webview https://mc-heads.net/avatar/androneko/128.png Steve 96 64
 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Player Placeholders in URLs

Premium webview supports dynamic placeholders inside the URL.

Available placeholders:

Code (Text):

%player%
%player_name%
{player}
{player_name} <player>
%player_uuid%
{player_uuid}
<player_uuid>
%sender%
%sender_name%
{sender}
{sender_name} <sender>
%sender_uuid%
{sender_uuid}
<sender_uuid>
 
Example:

Code (Text):

/sic webview https://mc-heads.net/avatar/%player%/64.png all
 
Each player receives their own avatar image.

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

Supported Image Sources


Recommended avatar services:

Code (Text):

https://mc-heads.net/avatar/%player%/64.png
https://mc-heads.net/player/%player%/128.png
https://minotar.net/avatar/%player%/64.png
https://crafthead.net/avatar/%player%/64.png
 
Note: WebP and GIF not support

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

Permissions

Permission Description Default
screeninchat.use Allows basic image commands OP
screeninchat.admin Allows administrative commands OP
screeninchat.license.activate Allows license activation OP
screeninchat.license.status Allows checking license status OP
screeninchat.license.unlink Allows unlinking local license data OP


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

Configuration

Code (YAML):


# ScreenInChat by MCByte

# Support Discord:

# https://discord.com/invite/HeMT8p7UCy

# Plugin language.

# Available languages:

# en_US, es_ES, pt_BR, fr_FR, de_DE

language
: en_US

image
:

# Default maximum image width when no custom size is provided.

# Free version is limited to 64x64.

# Premium licenses can increase this limit through entitlements.

default-max-width
: 64

# Default maximum image height when no custom size is provided.

default-max-height
: 64

# Absolute safety cap for image width.

# This prevents extremely large chat messages.

absolute-max-width
: 128

# Absolute safety cap for image height.

absolute-max-height
: 128

# If true, images smaller than the max size keep their original dimensions.

# If false, images are always resized to the configured target.

keep-original-if-smaller
: true

# Pixels with alpha below this value are treated as transparent.

alpha-threshold
: 16

# Transparent pixels are blended over this color because chat text cannot render alpha.

transparent-background
: ' #000000'

# RGB rounding value.

# Lower = more accurate colors.

# Higher = fewer unique colors and lighter messages.

# Recommended: 8

color-step
: 8

# Resize mode.

# nearest = best for pixel art

# bilinear = better for photos

resize-mode
: nearest

# Normal spaces between image and card text.

card-gap-spaces
: 3

resource-pack
:

# Generate the resource pack when the server starts.

generate-on-start
: true

# Name of the generated resource pack zip.

output-file
: ScreenInChat-pack.zip

# Resource pack format for Minecraft 1.21/1.21.1.

pack-format
: 34

# Public URL for the resource pack, if you host it externally.

public-url
: ''

# If true, the plugin asks players to load the configured resource pack on join.

auto-send-on-join
: false

web
:

# Connection timeout for remote image URLs.

connect-timeout-ms
: 7000

# Read timeout for remote image URLs.

read-timeout-ms
: 15000

# User-Agent used when downloading remote images.

user-agent
: 'ScreenInChat/1.2 (Paper 1.21.1 )'

support
:

# Support Discord link shown in license/support messages.

discord
: 'https://discord.com/invite/HeMT8p7UCy'
 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Language System

ScreenInChat includes 5 language files:

Code (Text):

lang/en_US.yml
lang/es_ES.yml
lang/pt_BR.yml
lang/fr_FR.yml
lang/de_DE.yml
 
To change the language:

Code (YAML):

language
: es_ES
 
Then restart the server or reload the plugin configuration.

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

License System

ScreenInChat supports a simple remote license system.

How it behaves:


License data is stored locally in:

Code (Text):

plugins/ScreenInChat/license.yml
 
There is no public license configuration in config.yml.

Activate:

Code (Text):

/sic license activate YOUR-LICENSE-KEY
 
Check status:

Code (Text):

/sic license status
 
Unlink local license data:

Code (Text):

/sic license unlink
 
Support:

https://discord.com/invite/HeMT8p7UCy


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


Support

Need help installing, configuring, or activating your license?

Join our Discord Support Server

Thank you for using ScreenInChat by MCByte.

Commands

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

ScreenInChat is a free Minecraft Java mod. Compatible with Minecraft 1.20, 1.20.6, 1.21. Downloaded 29 times (via Spigot). Download it and open it directly in the game.

Explore more