AeXiaohu
本帖最后由 AeXiaohu 于 2021-8-18 21:08 编辑

介绍
MC1.12.2聊天栏字符长度限制为256,很多长命令或一条发不完的信息只能用命令方块来解决,命令方块的字符长度限制为32500,足以满足长命令需求。
但如果你想解除客户端聊天栏的字符长度限制,更方便直接通过玩家Chat实现长命令,就需要安装以下补丁了。

修改客户端聊天栏字符长度限制到int16最大值
该补丁作用客户端聊天栏允许超过256个字符,最大32767(int16最大值)。

修改客户端发送聊天信息数据包字符长度限制到int16最大值
如果不装这个补丁,只装上面的,那么发送超出256个字符,也只会成功发送前面256个。

修改服务端接受玩家聊天信息数据包字符长度限制到int16最大值
如果不装这个补丁,只装上面的,那么成功发送超过256个字符时,服务端无法接受(会使该玩家异常退出服务器)。

解除聊天栏字符长度限制并自定义权限管理
这就是该插件的作用了,你解除了限制,当然不想所有玩家都能自由的超出限制,那样的话,你的公屏/后台信息可能被刷屏滥用,而且越长的信息,处理时间越长。所以你需要自定义权限管理,比如玩家不允许超出256个字符,而OP可以。
你可以使用其他权限管理插件给玩家添加不同的字符长度权限
Chat信息长度权限
可自定义不同长度的权限(cmlp.XXX)
如果有多个长度权限的话,将取其中最大的一个
例子:
- cmlp.100 # Chat信息长度不允许超过100
- cmlp.256 # Chat信息长度不允许超过256
- cmlp.512 # Chat信息长度不允许超过512
- cmlp.32767 # 该权限可以给管理,32767是最大值了

展示图片


安装方法
插件1.12及以上版本都可用
以下补丁版本可用

1.12.2
  • 首先删除验证签名
删除以下两个文件(否则加补丁失效)
客户端\.minecraft\versions\1.12.2\1.12.2.jar\META-INF\MOJANGCS.RSA
客户端\.minecraft\versions\1.12.2\1.12.2.jar\META-INF\MOJANGCS.SF

  • 修改客户端聊天栏字符长度限制到int16最大值
将 bkn.class 覆盖到以下路径:
客户端\.minecraft\versions\1.12.2\1.12.2.jar\

  • 修改客户端发送聊天信息数据包字符长度限制到int16最大值
将 la.class 覆盖到以下路径:
客户端\.minecraft\versions\1.12.2\1.12.2.jar\

  • 修改服务端接受玩家聊天信息数据包字符长度限制到int16最大值
Spigot服务端:
将 PacketPlayInChat.class 覆盖到以下路径:
spigot-1.12.2-R0.1-SNAPSHOT.jar\net\minecraft\server\v1_12_R1\
原版/Forge服务端:
将 la.class 覆盖到以下路径:
minecraft_server.1.12.2.jar\
如果是Forge服务端的话,并且minecraft_server.1.12.2.jar在libraries文件夹内的话需要添加以下启动参数:
-Dfml.ignorePatchDiscrepancies=true
如:java -Dfml.ignorePatchDiscrepancies=true -jar server.jar

比如Mohist服务端的 minecraft_server.1.12.2.jar 文件在 \libraries\net\minecraft\1.12.2\ 里,所以得加上面的启动参数。为了防止因为改动了lib导致启动服务器的时候重新下载覆盖lib文件,请修改配置 \mohist-config\mohist.yml 里改为 check_libraries: false

1.16.5



下载


1603431
啊这..有高版本吗

AeXiaohu
1603431 发表于 2021-8-18 04:29
啊这..有高版本吗

插件1.12+,补丁1.12.2/1.16.5

zzzzz6
能不能写个插件版的聊天长度限制插件,感谢大大了

二次元王者
cat端不可以吗?