简单聊天(分支)

简单聊天(分支)

一个用于可自定义聊天的小型模组,拥有最简单的设置。与 LuckPerms 和 FTB Teams 集成。

基础库

SimpleChat(分支版)

Modrinth 下载量徽章 Modrinth 版本徽章 issues 徽章 java 17 徽章

此分支的创建是因为主项目已不再维护。

一个适用于你的服务器的简单聊天模组。

即使在单人游戏中也能正常工作。

只需使用 !<消息> 进行全局聊天,或使用 #<消息> 进行世界聊天!

显示格式化聊天消息的示例图片

功能

  • FTB Teams 集成 (已在 2001.1.4 上测试)

  • LuckPerms 集成 (已在 5.4.25 上测试)

  • 全局、世界和本地聊天(可以关闭)

  • 彩色聊天(可以关闭)

  • 使用命令重新加载配置

  • 支持 PlaceholderAPI(从 1.19.4 起)

  • 添加了对颜色标签的支持 (<bold><red>示例</bold>)(从 1.19.4 起)

  • 面向开发者:玩家聊天事件

配置

配置文件位于 <游戏或服务器目录>/config/simplechat.json。

名称 描述 类型
enable_chat_mod 启用(true)或禁用(false)模组对聊天的处理。 boolean
enable_global_chat 启用(true)或禁用(false)全局聊天。 boolean
enable_world_chat 启用(true)或禁用(false)世界聊天。 boolean
enable_chat_colors 启用(true)或禁用(false)在聊天中使用颜色代码。 boolean
local_chat_format 定义本地聊天的外观。 String
global_chat_format 定义全局聊天的外观。 String
no_players_nearby_text 定义附近没有玩家时本地聊天的消息。 String
no_players_nearby_message 启用(true)或禁用(false)消息。 boolean
no_players_nearby_action_bar 启用(true)或禁用(false)动作栏消息。 boolean
chat_range 指定本地聊天消息不可见(如果启用了全局聊天)的距离。 int
{
  "enable_chat_mod": true,
  "enable_global_chat": true,
  "enable_world_chat": false,
  "enable_chat_colors": false,
  "local_chat_format": "%player%&7:&r &7%message%",
  "global_chat_format": "&8[&2G&8] &r%player%&7:&r &e%message%",
  "world_chat_format": "&8[&9W&8] &r%player%&7:&r &e%message%",
  "no_players_nearby_text": "&fNo players nearby. Please use &e!<message> &ffor global chat.",
  "no_players_nearby_message": true,
  "no_players_nearby_action_bar": true,
  "chat_range": 100
}

你可以使用占位符 %player% 来指定玩家昵称,使用占位符 %message% 来指定其在聊天中的消息。

  • %ftbteam% FTB Team 集成 - 在聊天中显示你的队伍。
  • %lp_group% LuckPerms - 显示玩家组。
  • %lp_prefix% LuckPerms - 显示玩家前缀。
  • %lp_suffix% LuckPerms - 显示玩家后缀。

你可以使用 /simplechat 命令重新加载配置,而无需重启服务器或游戏(需要权限等级 1 或更高)。

API

如果你是开发者,你可以使用玩家在聊天中发送内容时调用的事件。

请查看 me.vetustus.server.simplechat.api.event.PlayerChatCallback。 要控制行为,请使用 ChatMessage 子类,它可用于取消发送消息或修改消息。

示例:

/**
 * 通过取消事件禁止玩家发送消息。
 */
PlayerChatCallback.EVENT.register((player, message) -> {
  PlayerChatCallback.ChatMessage chatMessage = new PlayerChatCallback.ChatMessage(player, message);
  chatMessage.setCancelled(true);
  return chatMessage;
});

许可证

使用 MIT 许可证。