ChatPlus/src/main/java/cn/revaria/chatplus/mixin/compat/StyledChatMixin.java
CPTProgrammer d5f37d5e07 Rewrite entire project for v1.0.0
- Remove legacy code and replace with new implementation
- Update version to 1.0.0
- Adjust build configurations and dependencies.
2025-04-21 04:31:40 +08:00

22 lines
932 B
Java

package cn.revaria.chatplus.mixin.compat;
import eu.pb4.placeholders.api.PlaceholderContext;
import eu.pb4.styledchat.StyledChatUtils;
import net.minecraft.text.Text;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Pseudo;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import static cn.revaria.chatplus.util.TextStyleFormatter.applyStyle;
@Pseudo
@Mixin(StyledChatUtils.class)
public abstract class StyledChatMixin {
@Inject(method = "formatFor(Leu/pb4/placeholders/api/PlaceholderContext;Ljava/lang/String;)Lnet/minecraft/text/Text;", at = @At("RETURN"), cancellable = true)
private static void modifyText(PlaceholderContext context, String input, CallbackInfoReturnable<Text> cir) {
cir.setReturnValue(applyStyle(cir.getReturnValue(), context.player()));
}
}