ChatImage - Send images and GIFs in Minecraft!

ChatImage - Send images and GIFs in Minecraft! - ChatImage - 聊天图片插件

一个简单的插件,用于在聊天中发送图片和GIF动图。— 支持 DiscordSRV 和 PlaceholderAPI。
Bukkit / Spigot 作者 ChickenSaysBak 支持版本 1.21 - 1.21
服务器使用量
未统计
服务玩家数
未统计
下载量
6,207
插件详细介绍

简介

ChatImage 是一款功能强大的插件,允许玩家在 Minecraft 聊天中直接发送和显示图片与 GIF 动图。它支持从 Discord 同步图像、可自定义的渲染选项、敏感内容过滤,并兼容多种服务器架构,为你的服务器聊天增添丰富的视觉体验。

功能特性

  • DiscordSRV 与 EssentialsDiscord 支持
- 从 Discord 发送的图片和 GIF 将直接在 Minecraft 聊天中渲染显示。
  • 悬停查看图片
- 发送的图片可以默认不占用聊天行空间,玩家需悬停鼠标才能查看。
- 玩家可使用 `/hideimages` 命令开启此模式,也可在配置文件中设为默认。
  • 渲染选项
- **平滑渲染**:适用于大多数图片,效果更佳。
- **简单渲染**:可能更适合色彩简单的平面设计图。
- 两种渲染模式在速度上无明显差异。
  • 部分透明度支持
- 支持发送具有混合透明度级别的图片。
  • PlaceholderAPI 支持
- 使用 `%chatimage_image%` 占位符,可在任意位置插入图片或 GIF,例如物品描述。
- 详见下方的“占位符使用”部分。
  • NSFW 内容过滤
- 可过滤包含敏感内容的图片和 GIF。此功能默认关闭。
- 启用后,重复内容将被缓存以提升处理速度。
  • BungeeCord 与 Velocity 支持
- 插件在 Spigot、BungeeCord 和 Velocity 上功能基本一致。
- 注意:Velocity 目前暂不支持 GIF(待其 API 支持对话框后会更新)。
- 提示:仅当服务器有全局聊天功能时,才将插件安装在 BungeeCord/Velocity 上。否则,请在每个 Spigot 子服上安装。

配置说明

配置文件为 YAML 格式。修改后请使用 /chatimage reload 重载。

# =============================================
#            ChatImage 配置
#             作者: ChickenSaysBak
# =============================================

# 冷却时间设置
cooldown: 3 # 发送图片/GIF 的冷却时间(秒)
strict_cooldown: false # 启用后,重复发送链接会延长冷却时间,有助于防止刷屏

# 图片设置
smooth_render: true # 启用平滑渲染
trim_transparency: true # 修剪图片边缘的透明空白区域(不适用于 GIF)
max_width: 35 # 图片最大宽度(默认聊天设置下最大为 35)
max_height: 20 # 图片最大高度(默认聊天设置下最大为 20)

# 隐藏图片设置
hidden_images:
  auto_hide: false # 默认隐藏所有图片,玩家可用 /showimages 单独覆盖
  max_width: 23 # 隐藏图片的最大宽度(安全默认值)
  max_height: 24 # 隐藏图片的最大高度(安全默认值)

# GIF 设置
gifs:
  max_width: 22 # GIF 最大宽度(默认设置下最大为 22)
  max_height: 22 # GIF 最大高度(默认设置下最大为 22)

# 内容过滤设置
explicit_content:
  enabled: false # 启用 NSFW 内容过滤(使用 api4.ai 的 API)
  remove_message: false # 若发现敏感内容,则删除包含链接的整个消息(对 Velocity 需配合 SignedVelocity 等插件)

# 常规设置
language_default: en_us # 默认语言(当玩家客户端语言不受支持时使用)
debug: false # 在控制台打印调试信息

权限

  • chatimage.use
- 允许玩家使用 URL 发送图片和 GIF。可作为捐赠者特权。
  • chatimage.admin
- 允许使用 `/chatimage` 管理命令。

命令

  • /hideimages
- 任何玩家可使用。启用后,图片将最小化,需悬停查看。
  • /showimages
- 取消 `/hideimages` 的效果。
  • /chatimage reload
- 重载插件配置文件。
  • /chatimage send <player>|all <url> [smooth] [trim] [width] [height] [text]
- 向指定玩家或所有玩家发送图片/GIF。末尾参数可选,若不指定则使用配置值。`trim` 对 GIF 无效。
- 可在 `[text]` 参数中添加显示在图片右侧(或 GIF 上方)的文本,支持颜色代码、`<br>` 换行以及 PlaceholderAPI 占位符。
- 示例:
        /chatimage send ChickenSaysBak https://example.com/skull.png true true 35 20 <br><br><br><br><br><br><br><br><br> <reset> <reset> <reset> <reset> <reset> <reset> <reset> <dark_red><b>YOU<br> <reset> <reset> <reset> <reset> <reset> <reset> <dark_red><b>DIED!!
  • /chatimage save <name> <url> [smooth] [trim] [width] [height]
- 将图片保存至插件文件夹,供后续使用。
  • /chatimage delete <name>
- 删除已保存的图片。
  • /chatimage send <player>|all <name> [text]
- 发送已保存的图片给玩家。此方式比直接发送 URL 更快,因为无需从网络获取图片。

占位符使用 (PlaceholderAPI)

安装 PlaceholderAPI 后,即可使用 ChatImage 提供的自定义占位符插入图片。

语法:

  • %chatimage_image: <name> [text]%
  • %chatimage_image: <url> [smooth] [trim] [width] [height] [text]%

参数与 /chatimage send 命令相同。在 [text] 参数中使用其他占位符时,需将百分号 % 替换为花括号 {}

示例:

%chatimage_image: heart <br> Your Health <br> {player_health}%

提示: 建议使用已保存的图片名称而非 URL 作为占位符源,因为从网络获取图片可能导致 PlaceholderAPI 及其相关插件卡顿。

开发者 API

添加依赖

Maven:

<dependency>
    <groupId>io.github.chickensaysbak</groupId>
    <artifactId>chatimage-api</artifactId>
    <version>3.0.0-1</version>
</dependency>

Gradle:

implementation 'io.github.chickensaysbak:chatimage-api:3.0.0-1'

注意: 别忘了在你的 plugin.ymldependsoftdepend 部分添加 "ChatImage"。

创建图片/GIF 对象

Component media = ChatImageAPI.createMediaFromURL("http://url.com/example.png");

也可使用带可选参数的方法,未指定的参数将使用配置默认值:

createMediaFromURL(String url, String text, boolean smooth, boolean trim, int width, int height)

发送图片

Paper & Velocity:

player.sendMessage(media);

Spigot (需 adventure-platform-bungeecord 依赖):

player.spigot().sendMessage(BungeeComponentSerializer.get().serialize(media));

BungeeCord (需 adventure-platform-bungeecord 依赖):

player.sendMessage(BungeeComponentSerializer.get().serialize(media));

检查玩家是否隐藏图片

if (ChatImageAPI.isHidingImages(player.getUniqueId())) {
    // 该玩家正在隐藏图片
}

提示与支持

  • 如果发送某张图片遇到问题,可以尝试将其上传到 Imgur、Imgbb、Gyazo 或 Discord,并确保复制的是以 .png.jpg.gif 等结尾的直接图片链接。
  • 如有任何疑问、问题或建议,欢迎随时联系作者!
测试支持版本
1.21
版本分布
基本信息
插件名称 ChatImage - Send images and GIFs in Minecraft!
作者 ChickenSaysBak
平台 Bukkit / Spigot
支持版本 1.21 - 1.21
点赞数 1
最近版本
暂无数据 -

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人数:2,584,134  |  历史访问人次:3,135,398

今日访问人数:4,597  |  今日访问人次:5,019

昨日访问人数:24,332  |  昨日访问人次:29,698

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6