Closed LrbsX closed 2 weeks ago
你换成paper试试?
---原始邮件--- 发件人: @.> 发送时间: 2024年11月1日(周五) 中午1:07 收件人: @.>; 抄送: @.***>; 主题: [LeavesMC/Leaves] 无法在聊天中显示EssentialsX的玩家名称颜色 (Issue #367)
服务端版本 LeavesMC Version
git-Leaves-"423df96" (MC: 1.21.1)
预期的行为 Expected behavior
应该正常在聊天中显示EssentialsX的玩家名称颜色。
观测到的实际行为 Observed/Actual behavior
只在自动提示中看到了玩家名称颜色,而聊天中没有。
复现步骤 Steps/models to reproduce
使用如上版本服务端,使用1.21.1原版客户端进入,出现此bug。 QQ.20241101130251.png (view on web)
插件与数据包列表。 Plugin and Datapack List.
为了排查问题,我单独开了一个新服务端进行测试,其中仅仅包含如下三个插件: EssentialsX-2.21.0-dev+121-f7a8f86.jar EssentialsXSpawn-2.21.0-dev+121-f7a8f86.jar EssentialsXChat-2.21.0-dev+121-f7a8f86.jar
更多详细信息。 The more information.
log: 2024-11-01-4.log
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>
你换成paper试试? …
这是paper: 2024-11-02-1.log
我怀疑是玩家列表删除bot那块(?
TechnicalMod影响的 如果你不需要可以考虑先关掉
相关代码 (io.papermc.paper.adventure.ChatProcessor
)
static String legacyDisplayName(final CraftPlayer player) {
if (((org.bukkit.craftbukkit.CraftWorld) player.getWorld()).getHandle().paperConfig().scoreboards.useVanillaWorldScoreboardNameColoring || org.leavesmc.leaves.LeavesConfig.mcTechnicalMode) { // Leaves - mc technical mode
return legacySection().serialize(player.teamDisplayName()) + ChatFormatting.RESET;
}
return player.getDisplayName();
}
static Component displayName(final CraftPlayer player) {
if (((CraftWorld) player.getWorld()).getHandle().paperConfig().scoreboards.useVanillaWorldScoreboardNameColoring || org.leavesmc.leaves.LeavesConfig.mcTechnicalMode) { // Leaves - mc technical mode
return player.teamDisplayName();
}
return player.displayName();
}
这玩意在technical里面真的有必要吗(
这玩意在technical里面真的有必要吗(
应该是没有的吧qwq 这段代码是去年一月改动的 远古产物(
https://github.com/PaperMC/Paper/issues/3676 可以参考下这个 最下面的评论说有的插件会导致这个
哦 似乎问题还是回到了那个配置 先关掉吧
PaperMC/Paper#3676 可以参考下这个 最下面的评论说有的插件会导致这个
这个修了 Paper还"谴责"过Bukkit qwq
@SuppressWarnings("deprecation") // Valid suppress due to supporting legacy display name formatting
public static String getLegacy(final ServerPlayer player) {
final String legacy = player.displayName;
if (legacy != null) {
// thank you for being worse than wet socks, Bukkit
return LegacyComponentSerializer.legacySection().serialize(player.adventure$displayName) + ChatColor.getLastColors(player.displayName);
}
return LegacyComponentSerializer.legacySection().serialize(player.adventure$displayName);
}
关掉配置之后正常显示了🤤
关掉了问题很大,发现tnt复制不了了,查了一下文档才发现这是关闭生电特性的🥺所以我选择又开回去了。所以真的没有两全其美的办法吗🥺1.20的时候还是好使的
@LrbsX 查阅 Leaves/Paper 的配置,你可以单独开启你需要的生电特性,比如TNT复制、破基岩等。
所以当时为什么要把这个配置加入到里面
所以当时为什么要把这个配置加入到里面
因为paper在他的列表里面写了 大概(x
所以当时为什么要把这个配置加入到里面
服务端版本 LeavesMC Version
git-Leaves-"423df96" (MC: 1.21.1)
预期的行为 Expected behavior
应该正常在聊天中显示EssentialsX的玩家名称颜色。
观测到的实际行为 Observed/Actual behavior
只在自动提示中看到了玩家名称颜色,而聊天中没有。
复现步骤 Steps/models to reproduce
使用如上版本服务端,使用1.21.1原版客户端进入,出现此bug。
插件与数据包列表。 Plugin and Datapack List.
为了排查问题,我单独开了一个新服务端进行测试,其中仅仅包含如下三个插件: EssentialsX-2.21.0-dev+121-f7a8f86.jar EssentialsXSpawn-2.21.0-dev+121-f7a8f86.jar EssentialsXChat-2.21.0-dev+121-f7a8f86.jar
更多详细信息。 The more information.
log: 2024-11-01-4.log