|
2 | 2 |
|
3 | 3 | import llc.redstone.hysentials.Hysentials; |
4 | 4 | import llc.redstone.hysentials.config.hysentialmods.FormattingConfig; |
| 5 | +import llc.redstone.hysentials.renderer.text.FancyFormatting2; |
| 6 | +import llc.redstone.hysentials.renderer.text.FancyFormatting2Kt; |
5 | 7 | import llc.redstone.hysentials.util.ImageIconRenderer; |
6 | 8 | import net.minecraft.client.gui.FontRenderer; |
7 | 9 | import net.minecraft.client.gui.GuiUtilRenderComponents; |
| 10 | +import net.minecraft.util.IChatComponent; |
8 | 11 | import org.spongepowered.asm.mixin.Mixin; |
9 | 12 | import org.spongepowered.asm.mixin.injection.At; |
| 13 | +import org.spongepowered.asm.mixin.injection.Inject; |
10 | 14 | import org.spongepowered.asm.mixin.injection.Redirect; |
| 15 | +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; |
| 16 | + |
| 17 | +import java.util.ArrayList; |
| 18 | +import java.util.List; |
11 | 19 |
|
12 | 20 | @Mixin(value = GuiUtilRenderComponents.class) |
13 | 21 | public class GuiUtilRCMixin { |
14 | | - @Redirect(method = "splitText", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/FontRenderer;getFormatFromString(Ljava/lang/String;)Ljava/lang/String;")) |
15 | | - private static String onGetStringWidth(String c0) { |
16 | | - if (!FormattingConfig.fancyRendering()) { |
17 | | - return FontRenderer.getFormatFromString(c0); |
18 | | - } |
19 | | - return ImageIconRenderer.getFormatFromString(c0); |
20 | | - } |
| 22 | +// @Redirect(method = "splitText", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/FontRenderer;getFormatFromString(Ljava/lang/String;)Ljava/lang/String;")) |
| 23 | +// private static String getFormatString(String c0) { |
| 24 | +// if (!FormattingConfig.fancyRendering()) { |
| 25 | +// return FontRenderer.getFormatFromString(c0); |
| 26 | +// } |
| 27 | +// return FancyFormatting2.Companion.getLastFormat(c0); |
| 28 | +// } |
| 29 | +// |
| 30 | +// @Redirect(method = "splitText", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/FontRenderer;getStringWidth(Ljava/lang/String;)I")) |
| 31 | +// private static int onGetStringWidth(FontRenderer fr, String c0) { |
| 32 | +// if (!FormattingConfig.fancyRendering()) { |
| 33 | +// return fr.getStringWidth(c0); |
| 34 | +// } |
| 35 | +// c0 = FancyFormatting2.Companion.replaceString(c0, true); |
| 36 | +// return fr.getStringWidth(c0); |
| 37 | +// } |
| 38 | +// |
| 39 | +// @Redirect(method = "splitText", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/FontRenderer;trimStringToWidth(Ljava/lang/String;IZ)Ljava/lang/String;")) |
| 40 | +// private static String onTrimStringToWidth(FontRenderer fr, String c0, int c1, boolean c2) { |
| 41 | +// if (!FormattingConfig.fancyRendering()) { |
| 42 | +// return fr.trimStringToWidth(c0, c1, c2); |
| 43 | +// } |
| 44 | +// c0 = FancyFormatting2.Companion.replaceString(c0, true); |
| 45 | +// return fr.trimStringToWidth(c0, c1, c2); |
| 46 | +//// return fr.trimStringToWidth(c0, c1, c2); |
| 47 | +// } |
21 | 48 |
|
22 | | - @Redirect(method = "splitText", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/FontRenderer;trimStringToWidth(Ljava/lang/String;IZ)Ljava/lang/String;")) |
23 | | - private static String onTrimStringToWidth(FontRenderer fr, String c0, int c1, boolean c2) { |
24 | | - if (!FormattingConfig.fancyRendering()) { |
25 | | - return fr.trimStringToWidth(c0, c1, c2); |
| 49 | + @Inject(method="splitText", at=@At("HEAD"), cancellable = true) |
| 50 | + private static void onSplitText(IChatComponent p_178908_0_, int p_178908_1_, FontRenderer p_178908_2_, boolean p_178908_3_, boolean p_178908_4_, CallbackInfoReturnable<List<IChatComponent>> cir) { |
| 51 | + if (FormattingConfig.fancyRendering()) { |
| 52 | + cir.setReturnValue(ImageIconRenderer.splitText(p_178908_0_, p_178908_1_, p_178908_2_, p_178908_3_, p_178908_4_)); |
26 | 53 | } |
27 | | -// return Hysentials.INSTANCE.imageIconRenderer.trimStringToWidth(c0, c1, c2); |
28 | | - return fr.trimStringToWidth(c0, c1, c2); |
29 | 54 | } |
30 | 55 | } |
0 commit comments