From 7ef57c1e93ec4c61a62856f35dd50b772f7f076a Mon Sep 17 00:00:00 2001 From: sakurawald Date: Tue, 16 Jul 2024 02:13:20 +0800 Subject: [PATCH] feature: `Afk module` supports placeholder --- .../io/github/sakurawald/config/model/ConfigModel.java | 4 ++-- .../sakurawald/module/mixin/afk/ServerPlayerMixin.java | 9 +++------ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/main/java/io/github/sakurawald/config/model/ConfigModel.java b/src/main/java/io/github/sakurawald/config/model/ConfigModel.java index 201d3afeb..2bc844ca5 100644 --- a/src/main/java/io/github/sakurawald/config/model/ConfigModel.java +++ b/src/main/java/io/github/sakurawald/config/model/ConfigModel.java @@ -545,7 +545,7 @@ public class Tpa { } @Documentation(""" - This module provides `/work` command. + This module provides `/works` command. A `work` means a project (a building, a red-stone device ...) that crafted by a player. @@ -787,7 +787,7 @@ public class Afk { public boolean enable = false; @Documentation("The tab-name format when a player is afk") - public String format = "[AFK] %player_display_name%"; + public String format = "[AFK] %player:name_visual%"; @Documentation("The afk checker is a timer to check and mark the player's recently active time.") public AfkChecker afk_checker = new AfkChecker(); diff --git a/src/main/java/io/github/sakurawald/module/mixin/afk/ServerPlayerMixin.java b/src/main/java/io/github/sakurawald/module/mixin/afk/ServerPlayerMixin.java index 207c5a0b5..b280b1247 100644 --- a/src/main/java/io/github/sakurawald/module/mixin/afk/ServerPlayerMixin.java +++ b/src/main/java/io/github/sakurawald/module/mixin/afk/ServerPlayerMixin.java @@ -3,7 +3,7 @@ import io.github.sakurawald.config.Configs; import io.github.sakurawald.module.initializer.afk.AfkStateAccessor; import io.github.sakurawald.util.MessageUtil; -import net.kyori.adventure.text.TextReplacementConfig; +import net.kyori.adventure.text.Component; import net.minecraft.network.packet.s2c.play.PlayerListS2CPacket; import net.minecraft.server.MinecraftServer; import net.minecraft.server.network.ServerPlayerEntity; @@ -18,8 +18,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import static io.github.sakurawald.util.MessageUtil.ofComponent; -import static io.github.sakurawald.util.MessageUtil.toText; +import static io.github.sakurawald.util.MessageUtil.*; @Mixin(ServerPlayerEntity.class) public abstract class ServerPlayerMixin implements AfkStateAccessor { @@ -43,9 +42,7 @@ public abstract class ServerPlayerMixin implements AfkStateAccessor { if (accessor.fuji$isAfk()) { cir.setReturnValue(Text.literal("afk " + player.getGameProfile().getName())); - net.kyori.adventure.text.@NotNull Component component = ofComponent(null, false,Configs.configHandler.model().modules.afk.format) - .replaceText(TextReplacementConfig.builder().match("%player_display_name%").replacement(player.getDisplayName()).build()); - cir.setReturnValue(toText(component)); + cir.setReturnValue(ofText(player, false, Configs.configHandler.model().modules.afk.format)); } else { cir.setReturnValue(null); }